看着这个题目是不是很熟悉,没错,今天学习的就是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的使用相关推荐

  1. Android中视频播放器的选择,MediaPlayer、ExoPlayer、ijkplayer简单对比

    MediaPlayer 在Android系统中对于视频播放器有原生的实现MediaPlayer, 以及将MediaPlayer,SurfaceView封装在一起的VideoView, 两者都只是使用硬 ...

  2. Android中插件开发篇之----类加载器

    前言 关于插件,已经在各大平台上出现过很多,eclipse插件.chrome插件.3dmax插件,所有这些插件大概都为了在一个主程序中实现比较通用的功能,把业务相关或者让可以让用户自定义扩展的功能不附 ...

  3. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 系统中调试器进程内存流程 | 编译内存调试动态库以及调试程序 )

    文章目录 一.Android 系统中调试器进程内存流程 二.编译内存调试动态库以及调试程序 三.博客资源 一.Android 系统中调试器进程内存流程 修改游戏运行中的内存 , 游戏运行之后 , 游戏 ...

  4. 自定义注解在拦截器中为空_如何在Android中为特定联系人设置自定义铃声

    自定义注解在拦截器中为空 Everyone likes to know who's calling before they actually pick up the phone, and the ea ...

  5. Android中常见五种布局管理器——RelativeLayout、LinearLayout、FrameLayout、TableLayout、GridLayout

    目录 布局管理器 RelativeLayout 常见属性 Relative的实践操作(实现软件更新界面) LinearLayout 常见属性 LinearLayout的实践操作(模范登录以及微信底部) ...

  6. Android时间触发,设置闹钟管理器Android中的时间 - 立即触发闹钟

    这里我试图通过使用AlarmManger类设置闹钟.它与我工作正常,但当我设置闹钟时间后小时或分钟时间选择器,它会立即启动时,我保存该报警.闹钟.我需要警报熄灭,直到我设定时间. 下面是我的代码正在工 ...

  7. Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器

    Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器实例的示例: public class AudioPlayer implements MediaPlayer.OnPre ...

  8. Android中所有UI组件基类是,【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity...

    问:达叔,你放弃了吗? 答:不,放弃是不可能的,丢了Android,你会心疼吗?如果别人把你丢掉,你是痛苦呢?还是痛苦呢?~ 引导语 有人说,爱上一个人是痛苦的,有人说,喜欢一个人是幸福的. 人与人之 ...

  9. Android 中LayoutInflater(布局加载器)之介绍篇

    本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78099358 前 ...

最新文章

  1. 中式古建筑su模型大全
  2. UESTC_摩天轮 2015 UESTC Training for Dynamic ProgrammingProblem K
  3. java成绩排名平均成绩_java 数组 输入5名学生的成绩 得出平均分。
  4. 课时105.边框属性下(掌握)
  5. 拼智商,谷歌、苹果、微软、亚马逊的AI助手谁赢了?有些结果没料到
  6. 【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)
  7. HTTPS-使用Fiddler抓取HTTPS数据包原理
  8. 【shell编程】1、shell编程简介
  9. zabbix node.js mysql_Zabbix添加Node.js监控的方法
  10. Spring Boot的每个模块包详解
  11. ASP.NET MVC 使用dataTable(3)--更多选项参考
  12. 计算机系统通过执行通道程序完成数据,计算机系统结构_第四章练习 答案
  13. 【mmdetection3d】——学习配置文件
  14. 与计算机相关的统计表格,统计信息化 Excel与SPSS应用pdf
  15. 高考全国卷导数题分类
  16. 2FSK频谱matlab,数字调制系统在Matlab下的分析
  17. 使用Arduino开发ESP32(15):模块基本信息与复位原因获取
  18. GitHub上Swift语言指南
  19. 解决Win10桌面右键卡顿一直转圈圈的问题
  20. NetApp FAS混合式Flash Array

热门文章

  1. 一加6android p降级包,国内最快!一加6更新Android P稳定版,官方确认一加6T会预装...
  2. docker常用软件安装教程
  3. strncmp的介绍
  4. JSP页面的各种注释
  5. linux nohup不生成日志,nohup不输出日志信息的方法,及linux重定向学习
  6. 通俗易懂VS项目中的web config配置文件
  7. 12个面向专业开发人员的VueJS最佳实践
  8. Linux学习第五天——shell 基础及变量
  9. 激光雷达主要应用在哪些领域?
  10. 手机拍照,高像素和光学变焦哪个更有用?