博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于访问Android项目中assets中的资源
阅读量:6896 次
发布时间:2019-06-27

本文共 771 字,大约阅读时间需要 2 分钟。

hot3.png

      初学Android的时候,访问图片都是把图片放到res/drawable文件夹中,然后通过R.drawable.XXX来获取的,然后最近一个项目涉及到了数量比较多的图片的读取,如果通过这种id的形式来获取就真的很但疼了。。。。

     后来google告诉我,可以把图片放到assets中,访问的方式跟访问文件夹中的图片类似,而且图片可以随着APP打包。

具体方式如下:

1、项目下新建一个assets文件夹,如图

我在assets中又新建了一个markers文件夹,里面有两张png图片,方便分类。

2、代码中访问

String[] files = null;try {	files = getAssets().list("markers");} catch (IOException e1) {	e1.printStackTrace();}
这样就可以获得assets/markers中的资源的名称了。
BufferedInputStream bfs;try {        bfs = new BufferedInputStream(getAssets().open("icon_marka.png"));        Bitmap bm=BitmapFactory.decodeStream(bfs);        bfs.close();} catch (IOException e) {	e.printStackTrace();}
这样就可以获得assets/markers/icon_marka.png的Bitmap对象了。

个人总结:这种方式可以应用于图片,音频等资源,游戏中使用比较多。虽然访问起来没有通过id访问方便,但是更加灵活。

转载于:https://my.oschina.net/zlLeaf/blog/142801

你可能感兴趣的文章
Linux 通过配置Cobbler服务器全自动批量安装部署
查看>>
单片机编程入门学习 这几问你能回答吗?
查看>>
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或......
查看>>
【转】[行业透视] 外企九年-我最终选择放弃
查看>>
最终目标展示:一个完善的操作系统
查看>>
opencv图像融合(给人脸添加一个眼镜)
查看>>
mysql参数优化辅助工具之tuning-primer.sh
查看>>
SpringBoot之整合MyBatis
查看>>
docker 笔记
查看>>
我的友情链接
查看>>
云储存将成未来大规模视频监控储存主要模式
查看>>
添加和删除虚拟用户
查看>>
shell 变量
查看>>
linux 如何进入grub模式
查看>>
JAVA操作Trip数据库2
查看>>
LINQ系列:Linq to Object限制操作符
查看>>
[BZOJ1296][SCOI2009]粉刷匠(DP)
查看>>
Executor执行框架
查看>>
[FMX] Android APP 启动黑屏优化补丁
查看>>
常用JavaScript的高级技巧
查看>>