赞
踩
1. 导包:导入android-async-http开源项目的最新版本的包
2.简单的搭建一个网络图片查看器的界面
相关的界面搭建代码:
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context="${packageName}.${activityClass}" >
-
- <ImageView
- android:id="@+id/iv_img"
- android:layout_width="wrap_content"
- android:layout_height="300dp"
- android:layout_alignParentLeft="true"
- android:layout_alignParentRight="true"
- android:layout_alignParentTop="true"
- android:src="@drawable/ic_launcher" />
-
- <EditText
- android:id="@+id/et_url"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
- android:layout_marginBottom="60dp"
- android:inputType="textUri"
- android:text="@string/et_url"/>
-
- <Button
- android:id="@+id/btn_img"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_alignParentLeft="true"
- android:onClick="sendGetImg"
- android:text="@string/btn_img" />
-
- </RelativeLayout>
这只是一种方法,还可以运用绝对布局,或者相对布局进行布局。
3.设置网络权限
<uses-permission android:name="android.permission.INTERNET"/>
4.创建异步客户端对象
5.获取uri网络路径
6.执行get请求
a) 如果成功创建工厂对象
b) 工厂对象的decodeByteArray把字节转换成Bitmap对象
c) 设置图片
7.项目分析:
点击查看网络图片,便可将你所填写的地址的图片查看出来。
相关的程序代码:
- package www.csdn.net.lesson05_02;
-
- import org.apache.http.Header;
-
- import android.app.Activity;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.ImageView;
- import android.widget.Toast;
-
- import com.loopj.android.http.AsyncHttpClient;
- import com.loopj.android.http.AsyncHttpResponseHandler;
-
- public class MainActivity extends Activity {
-
- private EditText et_url;
- private ImageView iv_img;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- et_url=(EditText) findViewById(R.id.et_url);
- iv_img=(ImageView) findViewById(R.id.iv_img);
- }
-
- public void sendGetImg(View v){
- int id=v.getId();
- switch(id){
- case R.id.btn_img:
- //获取网络路径
- String url=et_url.getText().toString();
- //创建客户端对象
- AsyncHttpClient client=new AsyncHttpClient();
- client.get(url, new AsyncHttpResponseHandler(){
- @Override
- public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
- if(statusCode==200){
- BitmapFactory factory=new BitmapFactory();
- Bitmap bitmap=factory.decodeByteArray(responseBody, 0, responseBody.length);
- iv_img.setImageBitmap(bitmap);
- }
- }
-
- @Override
- public void onFailure(int statusCode, Header[] headers,
- byte[] responseBody, Throwable error) {
- error.printStackTrace();
- }
- });
- break;
- default:
- break;
- }
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。