Android中资产管理器AssetManager的使用
看着这个题目是不是很熟悉,没错,今天学习的就是assets文件夹下资源的一些使用方式。
1.sssets目录下放置的内容
- 大批量的初始化数据,需要在APP第一次安装时导入数据库。因为res/values目录下方的是键值对数据(如key-value),难以转换为数据库中存储的关系型数据。
- 工程源码要导出为JAR包,作为一个SDK给其他工程使用。因为res目录无法集成到jar包中,所以待集成的图片资源不可放在res目录。
- 如网页HTML这种需要保持原有格式的文件,不适合放在res目录中进行编译。
- 其余无法被Android系统识别的文件格式,如电子书的pdf、epub、djvu等等。
2.创建assets目录的位置
src/main目录下新建assets目录。
3.获取AssetManager对象方法
调用getAssets方法可获得AssetManager对象。
4.AssetManager相关方法
- list:列出指定目录下的文件与文件夹列表数组。
- open:打开资产文件,返回输入流InputStream对象。访问模式默认是AssetManager.ACCESS_STREAMING,表示流式访问,即顺序读取。
- close:关闭资产管理器。
5.从assets文件夹获取文字字符串示例
/*** 从asset资产文件中获取文本字符串* @param context* @param fileName* @return*/public static String getTxtFormAssets(Context context,String fileName){String result = "";try {InputStream is = context.getAssets().open(fileName);int lenght = is.available();byte[] buffer = new byte[lenght];is.read(buffer);result = new String(buffer,"utf8");} catch (IOException e) {e.printStackTrace();}return result;}
6.从assets文件夹获取图片示例
/*** 从asset资产文件中获取位图对象* @param context* @param fileName* @return*/public static Bitmap getImgFromAssets(Context context,String fileName){Bitmap bitmap = null;try {InputStream is = context.getAssets().open(fileName);bitmap = BitmapFactory.decodeStream(is);} catch (IOException e) {e.printStackTrace();}return bitmap;}
Android中资产管理器AssetManager的使用相关推荐
- Android中视频播放器的选择,MediaPlayer、ExoPlayer、ijkplayer简单对比
MediaPlayer 在Android系统中对于视频播放器有原生的实现MediaPlayer, 以及将MediaPlayer,SurfaceView封装在一起的VideoView, 两者都只是使用硬 ...
- Android中插件开发篇之----类加载器
前言 关于插件,已经在各大平台上出现过很多,eclipse插件.chrome插件.3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附 ...
- 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 系统中调试器进程内存流程 | 编译内存调试动态库以及调试程序 )
文章目录 一.Android 系统中调试器进程内存流程 二.编译内存调试动态库以及调试程序 三.博客资源 一.Android 系统中调试器进程内存流程 修改游戏运行中的内存 , 游戏运行之后 , 游戏 ...
- 自定义注解在拦截器中为空_如何在Android中为特定联系人设置自定义铃声
自定义注解在拦截器中为空 Everyone likes to know who's calling before they actually pick up the phone, and the ea ...
- Android中常见五种布局管理器——RelativeLayout、LinearLayout、FrameLayout、TableLayout、GridLayout
目录 布局管理器 RelativeLayout 常见属性 Relative的实践操作(实现软件更新界面) LinearLayout 常见属性 LinearLayout的实践操作(模范登录以及微信底部) ...
- Android时间触发,设置闹钟管理器Android中的时间 - 立即触发闹钟
这里我试图通过使用AlarmManger类设置闹钟.它与我工作正常,但当我设置闹钟时间后小时或分钟时间选择器,它会立即启动时,我保存该报警.闹钟.我需要警报熄灭,直到我设定时间. 下面是我的代码正在工 ...
- Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器
Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器实例的示例: public class AudioPlayer implements MediaPlayer.OnPre ...
- Android中所有UI组件基类是,【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity...
问:达叔,你放弃了吗? 答:不,放弃是不可能的,丢了Android,你会心疼吗?如果别人把你丢掉,你是痛苦呢?还是痛苦呢?~ 引导语 有人说,爱上一个人是痛苦的,有人说,喜欢一个人是幸福的. 人与人之 ...
- Android 中LayoutInflater(布局加载器)之介绍篇
本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78099358 前 ...
最新文章
- 中式古建筑su模型大全
- UESTC_摩天轮 2015 UESTC Training for Dynamic ProgrammingProblem K
- java成绩排名平均成绩_java 数组 输入5名学生的成绩 得出平均分。
- 课时105.边框属性下(掌握)
- 拼智商,谷歌、苹果、微软、亚马逊的AI助手谁赢了?有些结果没料到
- 【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)
- HTTPS-使用Fiddler抓取HTTPS数据包原理
- 【shell编程】1、shell编程简介
- zabbix node.js mysql_Zabbix添加Node.js监控的方法
- Spring Boot的每个模块包详解
- ASP.NET MVC 使用dataTable(3)--更多选项参考
- 计算机系统通过执行通道程序完成数据,计算机系统结构_第四章练习 答案
- 【mmdetection3d】——学习配置文件
- 与计算机相关的统计表格,统计信息化 Excel与SPSS应用pdf
- 高考全国卷导数题分类
- 2FSK频谱matlab,数字调制系统在Matlab下的分析
- 使用Arduino开发ESP32(15):模块基本信息与复位原因获取
- GitHub上Swift语言指南
- 解决Win10桌面右键卡顿一直转圈圈的问题
- NetApp FAS混合式Flash Array