Android下图像文件获取方式小结

1. 图片放在sdcard中,

  Bitmap imageBitmap = BitmapFactory.decodeFile(path) (path 是图片的路径,跟目录是/sdcard)

2. 图片在项目的res文件夹下面

res文件夹下获取成Bitmap主要可利用BitmapFacory.decode*()方法;

如果要获取成Drawable则直接getResource().getDrawable(int id);

上面的都是利用资源的int型资源id获取,下面讲解一下利用图像资源的文件名获取资源的方法。

  //得到application对象

  ApplicationInfo appInfo = getApplicationInfo();

  //得到该图片的id(name 是该图片的名字,"drawable" 是该图片存放的目录,appInfo.packageName是应用程序的包)

  int resID = getResources().getIdentifier(name, "drawable", appInfo.packageName);

//代码如下

public Bitmap getRes(String name) {
ApplicationInfo appInfo = getApplicationInfo();
int resID = getResources().getIdentifier(name, "drawable", appInfo.packageName);
return BitmapFactory.decodeResource(getResources(), resID);
}

3. 图片放在src目录下

  String path = "com/xiangmu/test.png"; //图片存放的路径

  InputStream is = getClassLoader().getResourceAsStream(path); //得到图片流

4.android中有个Assets目录,这里可以存放只读文件

资源获取的方式为

InputStream is = getResources().getAssets().open(name);

你可能感兴趣的:(android)