文章目录
  1. 1. 简单介绍
  2. 2. 实例
    1. 2.1. 读取res文件夹
    2. 2.2. 读取sdcard中图片
    3. 2.3. 读取assets文件夹下图片
    4. 2.4. 读取src文件夹下
    5. 2.5. 读取网络图片
  3. 3. 读取图片显示的结果

简单介绍

在Android中获取图片的方式有多种,这里概况在Android中几种常用的获取图片的方式。

实例

几种方式都比较方便,按照个人喜好可以熟练掌握自己觉得适合的方法。

读取res文件夹

第一种,读取res文件夹下的图片

1
2
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.xiaobudian);
imageView.setImageBitmap(bitmap);

读取sdcard中图片

第二种,读取SD卡中图片

1
2
Bitmap bitmap=BitmapFactory.decodeFile("/mnt/sdcard/xiaobudian.png");
imageView.setImageBitmap(bitmap);

读取assets文件夹下图片

第三种,读取assets文件夹下的图片

1
2
3
4
5
6
7
8
9
10
		AssetManager assetManager = getResources().getAssets();
try {
InputStream stream = assetManager.open("xiaobudian.png");
// 通过下面一种方法也可以
// InputStream stream = getClass().getResourceAsStream("/assets/xiaobudian.png");
Bitmap bitmap = BitmapFactory.decodeStream(stream);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}

读取src文件夹下

第四种,读取src文件夹下的图片

1
2
3
4
String path="com/carlos/img/xiaobudian.png";
InputStream stream=getClassLoader().getResourceAsStream(path);
Bitmap bitmap=BitmapFactory.decodeStream(stream);
imageView.setImageBitmap(bitmap);

读取网络图片

第五种,读取网络图片

1
2
ImageTask task=new ImageTask();
task.execute("http://xbdcc.github.io/images/picture_xiaobudian.png");

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class ImageTask extends AsyncTask<String, Void, Drawable>{

@Override
protected Drawable doInBackground(String... arg0) {
URL url;
Drawable drawable = null;
try {
url = new URL(arg0[0]);
InputStream stream=url.openStream();
drawable=Drawable.createFromStream(stream, "xiaobudian.png");
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return drawable;
}

@Override
protected void onPostExecute(Drawable result) {
imageView.setImageDrawable(result);
}
}

读取图片显示的结果

文章目录
  1. 1. 简单介绍
  2. 2. 实例
    1. 2.1. 读取res文件夹
    2. 2.2. 读取sdcard中图片
    3. 2.3. 读取assets文件夹下图片
    4. 2.4. 读取src文件夹下
    5. 2.5. 读取网络图片
  3. 3. 读取图片显示的结果