`
wayfarer
  • 浏览: 296693 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Resources and Assets

阅读更多

在帮助文档中有关于资源文件的描述和解释,可以自己去查看。

 

1. 如何处理资源文件和*.db的数据库文件

  1. 在应用程序初始化时将raw中的db文件拷贝到/data/data/package_name/database/下,然后通过正常方式进行访问;但是只有用户拥有root权限,才有资格访问/data/data/package_name/目录。也就是说,我们开发的程序只能在有root权限的手机上才可以使用。
  2. 读取raw的文件:activity.getResources().openRawResource(id) //获得一个InputStream;
  3. 将资源文件放入SD卡,通过File、InputStream和OutputStream读取。

2. 资源文件大小限制:Asset限制文件大小UNCOMPRESS为1MB

      无论是使用Res\raw还是使用Asset存储资源文件,对文件大小有一个限制。在Emulator中不存在问题,但放到真机G1上时会出现问题,经过查看UNCOMPRESS_DATA_MAX的取值为1048576字节,除以1024不难发现是1MB 。也就是说GPhone在处理资源文件时不能大于1MB的体积(使用raw或asset存放的文件大小不能超过1048576字节),否则会在logcat下看到如下报错信息

      解决方法:将文件放入到sdcard(缺点:IO效率不好、耗电大、sd卡可移除);或者SQLite。下面是android开发社区的一个问题QA截取,从中可以看到如果想改变UNCOMPRESS_DATA_MAX ,只能重新编译android源代码。但是自己编译出来的android SDK并不会被GPhone手机厂商所采用,所以这个方法通过自己刷机,自己娱乐娱乐还是可以的。

  • Q: I am trying to load a file using resource. my file size is more than 1mb.
    res/raw: contains a file named abc_fb2. But i am getting UNCOMPRESS_DATA_MAX error in catlog.
    as per my google, i found that there might be asset.h file, which we need to change. with some more value like 3*1024*1024
    so kindly if any body suggest me that how to download the source code of android1.5 sdk. In i will be able to change.
  • A: This is baked into the Android framework. It's not something you canchange unless you're building your own platform.
    If the data is uncompressed and aligned (with zipalign) it can be memory-mapped directly, which is easier on the system than dedicating a large piece of physical memory to hold the entire uncompressed file. 

源代码编译修改UNCOMPRESS_DATA_MAX

修改/frameworks/base/include/utils/Asset.h,"UNCOMPRESS_DATA_MAX = 1 * 1024 * 1024" 改为 "UNCOMPRESS_DATA_MAX = 2 * 1024 * 1024"

  • 大小: 62.1 KB
  • 大小: 69.5 KB
分享到:
评论

相关推荐

    eoeAndroid特刊第五期 Android+widget pdf

    源和资产(Resources and Assets)  -大体介绍一下Android 上的资源系统  2. Android 中可用的资源类型  -Android 可以使用哪一些资源类型。  3. Resources and Internationalization(资源和国际化)  -...

    Android开发指南中文版

    资源和资产Resources and Assets 28 资源引用Resource Reference 43 国际化和本地化Internationalization and Localization 43 意图和意图过滤器Intents and Intent Filters 43 意图过滤器Intent filters 47 通常...

    Android开发宝典.rar

    资源和资产Resources and Assets 28 资源引用Resource Reference 43 国际化和本地化Internationalization and Localization 43 意图和意图过滤器Intents and Intent Filters 43 意图过滤器Intent filters 47 ...

    Android 资源与应用国际化

    #### 一、源和资产(Resources and Assets) 在Android开发中,资源(Resources)和资产(Assets)是两个重要的概念。它们主要用于存储应用中的各种静态数据,如图片、音频文件、布局文件等。 **资源(Resources)**是...

    eoeAndroid特刊05_Android widget

    #### 源和资产 (Resources and Assets) Android应用依赖各种资源来构建用户界面和提供功能支持。资源包括但不限于图像、布局文件、字符串等。 - **资源系统概述**:Android提供了强大的资源管理系统,使得开发者...

    Android 2.2英文帮助文档离线完整版

    3. **Resources and Assets**:介绍了如何处理应用程序的资源文件,如字符串、图像、样式和布局。 4. **Notifications and Intents**:详细阐述了Android的通知系统以及Intent的使用,这是Android中实现应用间通信...

    Android开发指南全中文版

    - **资源和资产(Resources and Assets):** 包括图像、字符串等静态数据。 #### 三、数据存储(Data Storage) - **概览(Storage Overview):** - **系统偏好(System Preferences):** 轻量级的键值对存储方式。 - **...

    android framework 经验总结

    8. **Resources and Assets**: 资源管理器处理应用程序中的资源,如图片、字符串、布局文件等,而Assets目录则允许存储未打包的原始数据。 9. **权限管理**: Android的权限模型用于保护系统的安全性和用户的...

Global site tag (gtag.js) - Google Analytics