Android获取asset下的资源图片
发布日期:2021-06-30 11:14:45
浏览次数:3
分类:技术文章
本文共 2348 字,大约阅读时间需要 7 分钟。
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()); } }}main.xml如下:
转载地址:https://it9527.blog.csdn.net/article/details/21116487 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月23日 07时20分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
task_struct 结构分析
2019-04-30
Linux创建进程的源码分析
2019-04-30
ubunut16.04的pip3出现问题,重新安装pip3
2019-04-30
how2heap-double free
2019-04-30
how2heap-fastbin_dup_consolidate
2019-04-30
orw_shellcode_模板
2019-04-30
[fmt+shellcode]string
2019-04-30
fmt在bss段(neepusec_easy_format)
2019-04-30
[double free] 9447 CTF : Search Engine
2019-04-30
python 函数式编程
2019-04-30
python编码
2019-04-30
scala maven plugin
2019-04-30
flink 1-个人理解
2019-04-30
redis cli
2019-04-30
redis api
2019-04-30
flink physical partition
2019-04-30
java 解析json
2019-04-30
java http请求
2019-04-30
tensorflow 数据格式
2019-04-30