赵雅智_引用开源框架通过AsyncHttpClient实现网络图片查看器
来源:互联网 发布:乐视视频 网络未连接 编辑:程序博客网 时间:2024/05/01 07:50
步骤:
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;@Overrideprotected 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() {@Overridepublic 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);}}@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {error.printStackTrace();}});break;default:break;}}}
3、MainActivity.java
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;@Overrideprotected 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() {@Overridepublic 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);}}@Overridepublic void onFailure(int statusCode, Header[] headers,byte[] responseBody, Throwable error) {error.printStackTrace();}});break;default:break;}}}
重点代码就是这些,自己动手查看一下效果吧!~
开源框架资源:http://download.csdn.net/detail/zhaoyazhi2129/7400787
源码:http://download.csdn.net/detail/zhaoyazhi2129/7400815
转发请标明原文地址 http://blog.csdn.net/zhaoyazhi2129/article/details/27048527
0 0
- 赵雅智_引用开源框架通过AsyncHttpClient实现网络图片查看器
- 引用开源框架通过AsyncHttpClient实现网络图片查看器
- 赵雅智_引用开源框架通过AsyncHttpClient查看网页源代码
- 赵雅智_引用开源框架通过AsyncHttpClient处理get/post请求
- 赵雅智_引用开源框架通过AsyncHttpClient进行文件上传
- 引用开源框架通过AsyncHttpClient处理get/post请求
- 引用开源框架通过AsyncHttpClient进行文件上传
- 安卓AsyncHttpClient网络开源框架
- 开源框架 Asynchttpclient
- 通过开源框架AsyncHttpClient获取Json数据
- 使用开源框架制造网络图片查看器
- Android-AsyncHttpClient网络框架
- 案例1 _网络图片查看器
- Android使用开源框架实现文件的上传 asyncHttpClient
- Android网络请求框架--AsyncHttpClient
- 网络请求框架(一):AsyncHttpClient
- http请求开源框架: AsyncHttpClient
- AsyncHttpClient 开源框架學習研究
- hash_consistent
- 对项目经理的要求
- 最大回文串与最小添加回文串
- 星辰变
- python脚本随笔:实现生成插入表的sql语句
- 赵雅智_引用开源框架通过AsyncHttpClient实现网络图片查看器
- jQuery中attr()的使用
- 刘强东:因为害怕找不着女朋友所以奋而创业
- C++学习笔记10,访问控制符public,protected,private(一)
- 软件设计原则SOLID
- IntentService和AsyncTask的区别
- Python - 检测字符串之间的包含
- spring主要产品
- 传值与传址