• Android 项目中的资源获取方法


    Android资源文件分类:

    Android资源文件大致可以分为两种:

    第一种是res目录下存放的可编译的资源文件:

    这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件比较简单,通过R.XXX.ID即可;

    第二种是assets目录下存放的原生资源文件:

    因为系统在编译的时候不会编译assets下的资源文件,所以我们不能通过R.XXX.ID的方式访问它们。那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset/res和被绑定在apk里,并不会解压到/data/data/YourApp目录下去,所以我们无法直接获取到assets的绝对路径,因为它们根本就没有。

    还好Android系统为我们提供了一个AssetManager工具类。

    查看官方API可知,AssetManager提供对应用程序的原始资源文件进行访问;这个类提供了一个低级别的API,它允许你以简单的字节流的形式打开和读取和应用程序绑定在一起的原始资源文件。

    AssetManager类


    概述:

    提供对应用程序的原始资源文件进行访问;这个类提供了一个低级别的API,它允许你以简单的字节流的形式打开和读取和应用程序绑定在一起的原始资源文件。通过getAssets()方法获取AssetManager对象。

    AssetManager类常用方法:

    Public Methods

    final String[]

    list(String path)

    返回指定路径下的所有文件及目录名。

    final InputStream

    open(String fileName)

    使用 ACCESS_STREAMING模式打开assets下的指定文件。.

    final InputStream

    open(String fileName, int accessMode)

    使用显示的访问模式打开assets下的指定文件.

  • 相关阅读:
    AJPFX总结hashmap和hashtable的区别
    AJPFX分享JAVA修饰符详解
    AJPFX分享java排序之希尔排序
    Mysql框架---HMySql
    html/css实现聊天布局
    Java连接Mysql
    微信小程序九宫格布局
    Android设计模式——MVP
    iOS与H5交互(WKWbebView)
    iOS MJExtension的使用
  • 原文地址:https://www.cnblogs.com/scarecrow-blog/p/7325964.html
Copyright © 2020-2023  润新知