Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android網絡同喜之通過網絡獲得圖片

android網絡同喜之通過網絡獲得圖片

編輯:關於Android編程

主activity [java]   package com.netimg;         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();               }                                         }                  }   }     業務類 [java]  package com.netimg;      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;       }      }     工具類 [java]   package com.netimg;      import java.io.ByteArrayOutputStream;   import java.io.IOException;   import java.io.InputStream;      public class StreamTool {          public static byte[] read(InputStream inStream) throws IOException {           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();       }      }     獲得網絡權限 [html]   <uses-permission android:name="android.permission.INTERNET"/>    
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved