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. Android控件之ImageView(显示图片的控件)
  2. Android Base64字符串转换成图片
  3. Android控件笔记——在界面中显示图片
  4. android EditText 添加图片表情以及在四个方向上绘制图片
  5. Android 下载图片的问题
  6. Android 读取网络数据
  7. Android View转换成图片保存
  8. Unity调用Android保存图片到相册
  9. Android图片压缩

随机推荐

  1. android中自定义checkbox的图片和大小
  2. Android(安卓)ApiDemos示例解析(120):Vie
  3. Android中使用httpclient访问服务器,需要s
  4. onSaveInstanceState和onRestoreInstance
  5. Android测评
  6. Android: ListView排序及过滤
  7. Android(安卓)Market排名算法及规则
  8. android sdk 编译相关
  9. Android(安卓)Orm框架(GreenDao)
  10. Android(安卓)TextView中部分文字高亮,且