android 获取网络图片

浏览:
字体:
发布时间:2013-12-20 16:18:52
来源:

主函数

package com.example.internetone;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.StrictMode;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity implements OnClickListener {	Button btn;	ImageView imageView;	String path;	public void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);		StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()				.detectDiskReads().detectDiskWrites().detectNetwork()				.penaltyLog().build());		StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()				.detectLeakedSqlLiteObjects().detectLeakedClosableObjects()				.penaltyLog().penaltyDeath().build());		findViews();	}	private void findViews() {		btn = (Button) this.findViewById(R.id.button1);		imageView = (ImageView) this.findViewById(R.id.imageView1);		btn.setOnClickListener(this);	}	@Override	public void onClick(View v) {		path = "http://cimg2.163.com/catchpic/4/44/44ED4853B4A3FE71971C885A0A22825E.jpg";				functionOne(path);	}		/**	 * 获取网络图片的方法	 * */	private void functionOne(String path) {		byte[] data;		try {			data = NetTool.getImage(path);			Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);			imageView.setImageBitmap(bm);		} catch (Exception e) {			// TODO Auto-generated catch block			e.printStackTrace();		}	}}

辅助类,用于获取图片信息,连接网络

package com.example.internetone;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class NetTool {    /**     * 获取指定路径,的数据。     *     * **/    public static byte[] getImage(String urlpath) throws Exception {        URL url = new URL(urlpath);        HttpURLConnection conn = (HttpURLConnection) url.openConnection();        conn.setRequestMethod("GET");        conn.setConnectTimeout(6 * 1000);        // 别超过10秒。        System.out.println("------conn.getResponseCode()--------" + conn.getResponseCode());        if (conn.getResponseCode() == 200) {            InputStream inputStream = conn.getInputStream();            return readStream(inputStream);        }        return null;    }    /**     * 读取数据 输入流     *     * */    public static byte[] readStream(InputStream inStream) throws Exception {        ByteArrayOutputStream outstream = new ByteArrayOutputStream();        byte[] buffer = new byte[1024];        int len = -1;        while ((len = inStream.read(buffer)) != -1) {            outstream.write(buffer, 0, len);        }        outstream.close();        inStream.close();        return outstream.toByteArray();    }}
布局文件

    
AndroidManifest.xml配置网络权限
uses-permission android:name="android.permission.INTERNET"/>
个人整理的,用于参考


>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();