Android用ImageView显示本地和网上的图片

ImageView是Android程序中经常用到的组件,它将一个图片显示到屏幕上。
在UI xml定义一个ImageView如下:


public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.myimage);
     ImageView image1 = (ImageView) findViewById(R.myImage.image);
     //Bitmap bitmap = getLoacalBitmap("/aa/aa.jpg"); //从本地取图片
     Bitmap bitmap =
getHttpBitmap("http://blog.3gstdy.com/wp-content/themes/twentyten/images/headers/path.jpg");
//从网上取图片
     image1 .setImageBitmap(bitmap);	//设置Bitmap
}

/**
* 加载本地图片
* http://bbs.3gstdy.com
* @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;
     }
}

/**
* 从服务器取图片
*http://bbs.3gstdy.com
* @param url
* @return
*/
public static Bitmap getHttpBitmap(String url) {
     URL myFileUrl = null;
     Bitmap bitmap = null;
     try {
          Log.d(TAG, url);
          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;
}

转载请标明出处:3G Study :http://blog.3gstdy.com/archives/38

发表评论