Android 獲取網絡圖片的代碼

3y8nn 9年前發布 | 5K 次閱讀 Java Android

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 android.widget.Toast;

public class AndroidnetimgActivity extends Activity { /* Called when the activity is first created. / //定義所使用的組件 private Button button; private EditText editText; private ImageView imagesView;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    //實例化用到的組件
    editText =(EditText)findViewById(R.id.EditText);
    imagesView = (ImageView)findViewById(R.id.ImageView);
    button = (Button)findViewById(R.id.Button);

    //為按鈕添加監聽事件
    button.setOnClickListener(new buttonListener());

}

private final class buttonListener implements OnClickListener{

    @Override
    public void onClick(View v) {
        String path = editText.getText().toString();

        System.out.println(path);

        //通過業務類ImageService的getImage方法得到數據
        try {
            byte[] data = ImageService.getImage(path);
            Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
            imagesView.setImageBitmap(bitmap);//顯示圖片
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            Toast.makeText(getApplicationContext(), "獲取失敗", 1).show();
        }

    }

}

}</pre>

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

public class ImageService {

public static byte[] getImage(String path) throws Exception {

    URL url = new URL(path);
    //基于HTTP協議連接對象
    HttpURLConnection conn = (HttpURLConnection)url.openConnection();

    conn.setConnectTimeout(5000);
    conn.setRequestMethod("GET");

    if(conn.getResponseCode() == 200){
        InputStream inStream = conn.getInputStream();
        return StreamTool.read(inStream);
    }

    return null;
}

} </pre>

 本文由用戶 3y8nn 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!