詳解Android讀取本地圖片和網絡圖片的方法

Android讀取本地圖片和網絡圖片:
public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   ImageView image = (ImageView) findViewById(R.myImage.imageview);
   //Bitmap bitmap = getLoacalBitmap(“/images/1.jpg”); //從本地取圖片
   Bitmap bitmap = getHttpBitmap(“http://t1.baidu.com/it/u=1966865594,1522122112&fm=52&gp=0.jpg”); //從網上取圖片

   image .setImageBitmap(bitmap); //設置Bitmap
}
/**
* 加載本地圖片
* @param url
* @return
*/
public static Bitmap getLoacalBitmap(String url) {
try {
    FileInputStream fis = new FileInputStream(url);
    return BitmapFactory.decodeStream(fis);
} catch (FileNotFoundException e) {
    e.printStackTrace();
    return null;
}
}

/**
* 加載網絡圖片
* @param url
* @return
*/
public static Bitmap getHttpBitmap(String url) {
  URL myFileUrl = null;
  Bitmap bitmap = null;
try {
   myFileUrl = new URL(url);
} catch (MalformedURLException e) {
   e.printStackTrace();
}
try {
   HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();
   conn.setConnectTimeout(0);
   conn.setDoInput(true);
   conn.connect();
  InputStream is = conn.getInputStream();
  bitmap = BitmapFactory.decodeStream(is);
  is.close();
} catch (IOException e) {
  e.printStackTrace();
}
return bitmap;
}


注意:在AndroidManifest.xml文件的</manifest>節點上面添加

<uses-permission 
        android:name="android.permission.INTERNET"
        />,這是由於Android有很多的權限限制,否則圖片是不能在你的模擬器上顯示的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章