1.添加权限(访问网络权限)
2.创建异步请求对象
3.执行post请求(指定url路径,新建asynchttpresponsehandler方法)
a) 如果成功创建工厂对象
b) 工厂对象的decodebytearray把字节转换成bitmap对象
c) 设置图片
项目要求:通过edittext文本输入框中的网址,点击查看按钮,进行网络图片显示
运行效果如下:
重点代码:均有详细解析,请认真查看注释
1、在androidmanifest.xml中添加权限
<uses-permission android:name="android.permission.internet"/>
2、布局文件activity_main.xml
package com.example.photowatch;
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 com.loopj.android.http.asynchttpclient;
import com.loopj.android.http.asynchttpresponsehandler;
public class mainactivity extends activity {
private edittext et_url;
private imageview img_info;
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);
// 获取控件对象
et_url = (edittext) findviewbyid(r.id.et_url);
img_info = (imageview) findviewbyid(r.id.img_info);
};
public void show(view v) {
int id = v.getid();
switch (id) {
case r.id.btn_show:
//请求地址
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 bitmapfactory = new bitmapfactory();
//工厂对象的decodebytearray把字节转换成bitmap对象
bitmap bitmap = bitmapfactory.decodebytearray(responsebody, 0, responsebody.length);
//设置图片
img_info.setimagebitmap(bitmap);
}
}
public void onfailure(int statuscode, header[] headers,
byte[] responsebody, throwable error) {
error.printstacktrace();
});
break;
default:
}
}
}
3、mainactivity.java
重点代码就是这些,自己动手查看一下效果吧!~
开源框架资源:http://download.csdn.net/detail/zhaoyazhi2129/7400787
源码:http://download.csdn.net/detail/zhaoyazhi2129/7400815
转发请标明原文地址 http://blog.csdn.net/zhaoyazhi2129/article/details/27048527