Android访问网络操作。

首先在AndroidManifest.xml文件中添加网络权限

<uses-permission android:name="android.permission.INTERNET"/>

业务类ImageServer.java:

根据指定的网络图片地址获取二进制数据

package com.yaku.service;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;public class ImageServer {public static byte[] getImage(String path) throws Exception {//URL url = new URL("http://www.baidu.com/img/baidu_sylogo1.gif");URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5 * 1000);InputStream inStream = conn.getInputStream();//通过输入流获取图片数据//获取网页上的数据,如HTML代码//byte[] data = readInputStream(inStream);//得到html的二进制数据//String html = new String(data, "gb2312");return readInputStream(inStream);//得到图片的二进制数据}/** * 从输入流中获取数据 * @param inStream 输入流 * @throws Exception */public static byte[] readInputStream(InputStream inStream) throws Exception{ByteArrayOutputStream outStream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;while( (len=inStream.read(buffer)) != -1 ){outStream.write(buffer, 0, len);}inStream.close();return outStream.toByteArray();}}

将图片显示在手机屏幕上HttpImageActivity.java:

package com.yaku.http;import com.yaku.service.ImageServer;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.Toast;public class HttpImageActivity extends Activity {    private EditText path;    private ImageView image;        @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                path = (EditText) this.findViewById(R.id.url);        image = (ImageView) this.findViewById(R.id.image);        Button button = (Button)this.findViewById(R.id.button);        button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {String urlPath = path.getText().toString();try {byte[] data = ImageServer.getImage(urlPath);//生成位图Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);image.setImageBitmap(bitmap);//显示图片} catch (Exception e) {Toast.makeText(HttpImageActivity.this, R.string.error, 1).show();}}});    }}

更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. Android显示图片自适应(控件+网页)
  3. android存储空间的检测
  4. Android学习笔记(九)之Android(安卓)获取正在运行的Activity
  5. android 获取汉字拼音
  6. android ImageView scaleType属性
  7. EditText实时判断输入字符数
  8. android imageView 自适应大小
  9. Android控件笔记——在界面中显示图片

随机推荐

  1. Android应用程序线程消息循环模型分析
  2. Android框架的深度分析1
  3. Android(安卓)Sqlite数据库查询或删除N天
  4. Android 之 uses-permission
  5. android webkit JavaScript 不能处理onke
  6. Android应用程序资源——Animation动画资
  7. Android.mk——makefile分析
  8. Android中invalidate()和postInvalidate(
  9. QQ音乐Android客户端Web页面通用性能优化
  10. 【Android】自定义FlowLayout,支持多种布