MainActivity如下:
package cc.testasset;
import java.io.InputStream;
import android.os.Bundle;
import android.app.Activity;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
/**
* Demo描述:
* 获取asset下的资源图片
*
* 注意事项:
* 1 不可以获得asset下某个文件夹中某资源的绝对路径.
* 因为asset是要打包到apk中的
* 2 有人说:
* String filePath = "file:///android_asset/文件名";
* 可以表示一个文件的路径.经过测试,该方法不靠谱.
* 可参见代码.
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init(){
//测试一:获取asset下图片资源
try {
AssetManager assetManager = getAssets();
InputStream is = assetManager.open("Fresh_01.jpg");
//以下注释掉的代码不靠谱.若采用,会有异常
//InputStream is = assetManager.open("file:///android_asset/Fresh_01.jpg");
Bitmap bitmap = BitmapFactory.decodeStream(is);
if (bitmap != null) {
System.out.println("测试一:width=" + bitmap.getWidth() + " ,height="+ bitmap.getHeight());
} else {
System.out.println("bitmap == null");
}
} catch (Exception e) {
System.out.println("异常信息:" + e.toString());
}
System.out.println("======================");
//测试二:获取asset下某个文件夹中的图片资源
try {
AssetManager assetManager = getAssets();
InputStream is = assetManager.open("ml_lszn_Fresh/Fresh_02.jpg");
Bitmap bitmap = BitmapFactory.decodeStream(is);
if (bitmap != null) {
System.out.println("测试二:width=" + bitmap.getWidth() + " ,height="+ bitmap.getHeight());
} else {
System.out.println("bitmap == null");
}
} catch (Exception e) {
System.out.println("异常信息:" + e.toString());
}
System.out.println("======================");
// 测试三:遍历asset下某个文件夹中的所有图片资源
try {
InputStream is=null;
Bitmap bitmap=null;
String dirPath="ml_lszn_Fresh";
String photoName=null;
AssetManager assetManager = getAssets();
//使用list()方法获取某文件夹下所有文件的名字
String [] photos=assetManager.list(dirPath);
for (int i = 0; i < photos.length; i++) {
photoName=photos[i];
//利用dirPath+"/"+photoName组拼某文件完整路径
is = assetManager.open(dirPath+"/"+photoName);
bitmap = BitmapFactory.decodeStream(is);
System.out.println("测试三: i="+i+" ,width=" + bitmap.getWidth() + " ,height="+ bitmap.getHeight());
}
} catch (Exception e) {
System.out.println("异常信息:" + e.toString());
}
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="获取asset下的资源图片"
android:layout_centerInParent="true" />
</RelativeLayout>Android获取asset下的资源图片,布布扣,bubuko.com
原文:http://blog.csdn.net/lfdfhl/article/details/21116487