Android资产(assets)使用

一、 Assets介绍

Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径。我们可以通过AssetManager类来访问这些文件。

二、 Assets使用

主要使用类AssetManager和类assets

AssetManager主要由上下文Context或者ActivetyThead得到getAssets()------------->AssetManager有接口open()会连接assets_path + “assets” + filename来打开文件,同时把APK文件当作ZIP文件进行解压读取。

Java代码

      private Bitmap getImageFromAssetFile(String fileName){   

    Bitmap image = null;   

    try{   

        AssetManager am = context.getAssets();   

        InputStream is = am.open(fileName);   

        image = BitmapFactory.decodeStream(is);   

        is.close();   

    }catch(Exception e){              

    }   

    return image;   

}  

三、 大小限制

UNCOMPRESS_DATA_MAX定义限制文件大小不能大于1M,解决办法可以把文件放到SDCARD或者使用SQLITE数据库。还有使用Activity提供openFileOutputopenFileInput方法等。

四、 Assets

AssetManager文件后会到得一个Assets的指针,同时AssetManager也能得到下面全部文件的列表等。

Assets主要接口:

virtual int openFileDescriptor(off_t* outStart, off_t* outLength) const = 0;

virtual ssize_t read(void* buf, size_t count) = 0;

virtual const void* getBuffer(bool wordAligned) = 0;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值