一、创建Assest文件夹
直接把资源复制粘贴到该文件夹下
(1)获取Assets文件夹的管理类
AssetManager assets = getAssets();
(2)遍历文件夹下的资源列表
String[] list = assets.list();
(3)访问Assets的绝对路径
file:///android_asset
二、获取Assets文件夹的文本
AssetManager am = getAssets();
try{
//"penlaoxi.txt" 资源文本名称以及后缀
InputStream open = am.open("penlaoxi.txt");
byte b[] = new byte[1024];
int len = 0;
StringBuffer sb = new StringBuffer();
//字符串为-1 表示为空
while((len = open.read(b)) != -1){
sb.append(new String(b,0,len));
}
//输出文本信息 sb.toString()
Log.d("TAG",sb.toString());
}catch(IOException e){
e.printStackTrace();
}
三、获取Assets文件夹下的网页
String url = getAssets() + "/xxxx.html";
String url = "file:///android_asset/xxxx.html";
四、获取Assets文件夹下的图片
AssetManager am = getAssets();
InputStream inputStream = null;
try{
//"penglaoxi.jpg" 图片资源名称
inputStream = am.open("penglaoxi.jpg");
}catch(IOException e){
e.printStackTrace();
}
//bitmap 就是一张图片 将inputstream 转换成一张图片
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
//设置图片为bitmap imageView:替换成你想要的控件显示,或者以bitmap缓存到本地都行,结果在bitmap当中
imageView.setImageBitmap(bitmap );
五、获取Assets文件夹下的音频
try{
//获取MP3的资源文件
AssetFileDescriptor mp = getAssets().openFd("penglaoxi.mp3");
//实例化播放器对象
MediaPlayer player = new MediaPlayer();
//设置资源
player.setDataSource(mp.getFileDescriptor(),mp.getStartOffset().mp.getLength());
//准备播放器
player.prepare();
//开始播放
player.start();
}catch(IOException e){
e.printStackTrace();
}
五、获取Assets文件夹下的字体资源
for (int i = 0; i < 7; i++) {
if (i == 0) {
//默认第一项加载默认字体
this.fonts.add(Typeface.DEFAULT);
} else {
// 其余项加载保存的字体包
// Typeface.createFromAsset(资源路径,资源包名称);
// String.format("fonts/font_%02d.TTF", Integer.valueOf(i))
// "fonts/font_%02d.TTF" 资源包名称
// font_%02d 中的 " %02d " 替换 Integer.valueOf(i)
// Integer.valueOf(i) == 0 时, 表示 fonts/font_00.TTF
// Integer.valueOf(i) == 1 时, 表示 fonts/font_01.TTF
// Integer.valueOf(i) == 2 时, 表示 fonts/font_02.TTF
this.fonts.add(Typeface.createFromAsset(context.getAssets(), String.format("fonts/font_%02d.TTF", Integer.valueOf(i))));
}
}