`

asset下的文件与res/raw /drawable下文件的区别

 
阅读更多

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

比如我要读取/assets/background.png

 

Java代码
  1. Bitmap bgImg = getImageFromAssetFile( "background.png" );  

 

Java代码
  1.        private  Bitmap getImageFromAssetFile(String fileName){  
  2.     Bitmap image = null ;  
  3.     try {  
  4.         AssetManager am = context.getAssets();  
  5.         InputStream is = am.open(fileName);  
  6.         image = BitmapFactory.decodeStream(is);  
  7.         is.close();  
  8.     }catch (Exception e){  
  9.           
  10.     }  
  11.     return  image;  


二、/assets的文件不做压缩,比如存放*.png 文件时,需要读取原文件中的每一像素,则比较有用,缺点是读取时需要指定文件路径,无法通过id读取。
三、res/raw的文件也不压缩,优点是可以通过id读取
四、res/drawable下的文件会做失真压缩


第一点参考http://mingkg21.javaeye.com/blog/444830

分享到:
评论
1 楼 endual 2012-04-25  
可以删除assets文件么
我有一个数据库是要本地化的,2M多,我启动程序就复制这个数据库到databases文件夹下,然后删除assets下数据库,请问这个能实现么?

相关推荐

    Android Assets文件和Raw文件读取

    所有Raw文件都直接位于res/raw目录下,且必须通过资源ID访问。 **应用场景** Assets适合存放那些需要动态加载或不需要系统资源管理器处理的文件,比如游戏数据包、自定义字体、大型文本数据等。而Raw则适用于小型...

    Android 原始资源文件的使用详解

    7. `/assets`:与/res/raw类似,但不受编译过程的影响,适用于存储任何未处理的原始数据,如JSON文件、字体文件等。 在编译时,Android Asset Packaging Tool (aapt)会处理这些资源,生成二进制格式的资源并创建`R....

    android UI开发专题

    在Android开发中,`Resources`类扮演着资源管理者的角色,它负责访问应用中的各类资源,如raw asset文件、颜色定义、图形资源、媒体文件等,并提供关键的设备配置信息,如屏幕方向、输入类型等,这些都是构建用户...

    Android项目源码

    图片和其他静态资源位于`res/drawable`或`res/raw`目录。 6. **资产文件(Asset Files)**:`assets`目录用于存放非结构化的数据,如字体文件、音频文件或JSON数据。 7. **Maven仓库(Maven Repositories)**:在`...

    Android 文件读写操作方法总结

    Android 应用程序的资源文件存储在 res 文件夹下面,包括 layout、drawable、values 等文件夹。这些文件可以在应用程序中使用,例如读取资源文件中的字符串、图片等。读取资源文件可以使用 getResources()....

    TextView加载HTML文件显示图片

    当图片是从本地资源加载时,确保图片路径正确,可以是`assets`或`res/raw`目录下的文件。如果是网络图片,需要处理网络请求和缓存策略,以优化用户体验和减少不必要的网络负载。 5. 性能优化: `TextView`显示...

    AndEngine LoadResouresDemo

    在AndEngine中,你可以使用`AssetManager`来加载Asset目录下的资源。首先,你需要创建一个`AssetManager`实例,然后调用其`load`方法,指定资源的路径和类型。例如,加载一个名为“image.png”的图片资源,可以这样...

    解析Resource格式

    1. **编译阶段**:AAPT(Android Asset Packaging Tool)会读取`res`目录下的资源文件,生成R类,并将资源打包到APK中。 2. **运行阶段**: - **加载资源**:当应用程序启动时,Android系统会加载APK中的资源文件...

    android_UI界面设计

    * android.content.res.Resources 是 Android 平台的资源类,用于访问应用程序的资源,如 raw asset 文件、颜色、drawables、媒体文件等。 * 通过该类可以管理二进制源文件、颜色、图形、多媒体文件等资源。 * 主要...

Global site tag (gtag.js) - Google Analytics