android---利用android-async-http开源项目实现网络图片查看器

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;
		}
	}
}

android---利用android-async-http开源项目实现网络图片查看器

时间: 2024-12-29 10:10:16

android---利用android-async-http开源项目实现网络图片查看器的相关文章

源码提供!Android即时通讯和sns开源项目汇总

博客原地址: Android即时通讯和sns开源项目汇总 这是一个整理即时通讯(IM)和社交系统(SNS)优秀开源项目的文档,项目上传github欢迎提交更新. github地址:https://github.com/CameloeAnthony/Perfect_IM_SNS 一 即时通讯和社交系统平台 1 环信(推荐) 2 阿里百川 云旺 3 融云 4 OpenSNS -- #二 基于环信的即时通讯开源项目 数据整理自环信官网,网络数据和github.更多信息请参考环信官方网站和ImGeek

【黑马Android】(05)短信/查询和添加/内容观察者使用/子线程网络图片查看器和Handler消息处理器/html查看器/使用HttpURLConnection采用Post方式请求数据/开源项目

备份短信和添加短信 操作系统短信的uri: content://sms/ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima28.backupsms" android:versionCode="1

android 网络_网络图片查看器

xml <?xml version="1.0"?> -<LinearLayout tools:context=".MainActivity" android:paddingTop="@dimen/activity_vertical_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingLeft="

无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)

1.内容观察者ContentObserver 如果ContentProvider的访问者需要知道ContentProvider中的数据发生了变化,可以在ContentProvider 发生数据变化时调用getContentResolver().notifyChange(uri, null)来通知注册在此URI上的访问者,例子如下: private static final Uri URI = Uri.parse("content://person.db"); public class

【转】Android开源项目 分类 便于查看

之前转载了一个开源项目的文章,发现那些都是没有系统的总结,这里又转载一篇有系统总结的文章. Android开源项目系列汇总已完成,包括: Android开源项目第一篇——个性化控件(View)篇 Android开源项目第二篇——工具库篇 Android开源项目第三篇——优秀项目篇 Android开源项目第四篇——开发及测试工具篇 Android开源项目第五篇——优秀个人和团体篇 Android开源项目第一篇——个性化控件(View)篇 主要介绍那些不错个性化的View,包括ListView.Ac

Android 网络流量监听开源项目-ConnectionClass源码分析

很多App要做到极致的话,对网络状态的监听是很有必要的,比如在网络差的时候加载质量一般的小图,缩略图,在网络好的时候,加载高清大图,脸书的android 客户端就是这么做的, 当然伟大的脸书也把这部分代码开源出来,今天就来带着大家分析一下脸书的这个开源代码. GitHub 地址https://github.com/facebook/network-connection-class 注意这个项目下载下来以后 会报很多错误,导致很多人运行不了,大家要根据各自电脑不同的情况修改gradle脚本,才能让

Android图片圆角转换 RoundedImageView开源项目 小记

Android 将图片快速转换成圆角的方法 使用开源项目  RoundedImageView github上面的开源项目 官方地址为:   https://github.com/vinc3m1/RoundedImageView 效果如下:     下面快速的集成进来 步骤分为3个 1: 去github上下载 工程 https://github.com/vinc3m1/RoundedImageView 2: 导入工程 3  在布局中使用它 <com.makeramen.rounded.Rounde

Android平台上优秀的开源项目

软件名:gaeproxy 软件作用:Android手机配置GoAgent. 项目地址:https://github.com/madeye/gaeproxy.git 软件名:ProxyDroid 软件作用:Global Proxy App for Android System 项目地址:https://github.com/madeye/proxydroid.git 软件名:dbartists 软件作用:Douban Artists Third-party Android Client 项目地址:

Android 图片加载[常见开源项目汇总]

该文主要是讲一下目前有哪些使用比较多的 图片加载开源项目,并简单介绍该如果使用 以及各开源项目之间有什么区别, 我们该如何去选择适合的开源项目应用到我们的项目中? 一.Android-Universal-Image-Loader 项目地址:https://github.com/nostra13/Android-Universal-Image-Loader 二.picasso 项目地址:https://github.com/square/picasso 三.fresco 项目地址:https://