從網路上用HTTP下載圖片
使用HTTP傳輸協議從網路上下載圖片並把它顯示出來

 

1.修改AndroidManifest.xml

 

 

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.getimage"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".getimage"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

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

2.修改main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 <EditText 
  android:id="@+id/path"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:text="http://i0.itc.cn/20101105/3ab_77a0625b_5eac_4b59_8b41_88530b0ec2f7_2.jpg"
 />
 <Button
  android:id="@+id/getimage"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="抓取圖片"
 />
 <ImageView
  android:id="@+id/imageview"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
 />
</LinearLayout>




3.修改getimage.java

package com.getimage;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;

import com.getimage.utils.GetData;

public class getimage extends Activity implements OnClickListener {
 private EditText edittext = null;
 private Button button = null;
 private ImageView imageview = null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        edittext = (EditText) findViewById(R.id.path);
        button = (Button) findViewById(R.id.getimage);
        button.setOnClickListener( this);
        imageview  = (ImageView) findViewById(R.id.imageview);
    }
 @Override
 public void onClick(View button) {
  // TODO Auto-generated method stub
  String urlpath = edittext.getText().toString();
  try {
   byte[] data = GetData.getStream(urlpath);
   Bitmap bm = BitmapFactory.decodeByteArray(data, 0, data.length);
   imageview.setImageBitmap(bm);
  } catch (Exception e) {
   e.printStackTrace();
  }
 
 }
}

 

4.建立GetData.java

package com.getimage.utils;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;


public class GetData {
 public static byte[] getStream(String urlpath) throws Exception {
  InputStream inputstream;
  URL url = new URL(urlpath);
  HttpURLConnection conn = (HttpURLConnection)url.openConnection();
  inputstream = conn.getInputStream();
  ByteArrayOutputStream outputstream = new ByteArrayOutputStream();
  byte[] buffer = new byte[1024];
  int len = -1;
  while((len = inputstream.read(buffer)) != -1){
   outputstream.write(buffer,0,len);
  }
  inputstream.close();
  outputstream.close();
  return outputstream.toByteArray();
 }
}

下載原始碼:http://www.fileserve.com/file/pKsxUgD

arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()