当前位置:首页 » 安卓系统 » android的asset

android的asset

发布时间: 2024-04-11 20:18:39

A. Android项目工程下面的assets目录的作用是()。

Android项目工程下面的assets目录的作用是()。

A.放置应用的图片资源

B.主要放置一些文件资源,这些资源会被原封不动打包到apk里面

C.放置字符串,颜色,数组等常量数据

D.放置一些与UI相应的型简布雀绝局文件,都是xml文件

正确答案:主要放置一些文件资源,这些资源顷租姿会被原封不动打包到apk里面

B. Android中assets目录和raw目录的区别和使用情况

今天看到有人问Android中assets目录和raw目录的区别和使用情况。

能提出这个问题的,应该都了解它们的共同点:

它们会被原封不动的拷贝到APK中,而不会像其它资源文件那样被编译成二进制的形式。

要说区别,当然最直观的就是获取它们的InputStream的API不一样了。

assets:InputStream assets = getAssets().open("xxxx");

raw:InputStream raw = getResources().openRawResource(R.raw.xxxx)

有人可能会有疑问,既然它们都是被原封不动的拷贝到APK中,而assets可以创建目录结构,又能够动态的列出assets中的所有资源getAssets().list(String path);,这些raw都做不到,那raw还有什么用呢?

下面我们来说说它们主要的区别:

由 于raw是Resources (res)的子目录,Android会自动的为这目录中的所有资源文件生成一个ID,这个ID会被存储在R类当中,作为一个文件的引用。这意味着这个资源 文件可以很容易的被Android的类和方法访问到,甚至在Android XML文件中你也可以@raw/的形式引用到它。在Android中,使用ID是访问一个文件最快捷的方式。MP3和Ogg文件放在这个目录下是比较合适 的。
assets目录更像一个附录类型的目录,Android不会为这个目录中的文件生成ID并保存在R类当中,因此它与 Android中的一些类和方法兼容度更低。同时,由于你需要一个字符串路径来获取这个目录下的文件描述符,访问的速度会更慢。但是把一些文件放在这个目 录下会使一些操作更加方便,比方说拷贝一个数据库文件到系统内存中。要注意的是,你无法在Android XML文件中引用到assets目录下的文件,只能通过AssetManager来访问这些文件。数据库文件和游戏数据等放在这个目录下是比较合适的。
另 外,网上关于assets和raw的资料都千篇一律了,因此关于这两者中单个文件大小不能超过1M的**错误**描述也在传播,即如果读取超过1M的文件 会报"Data exceeds UNCOMPRESS_DATA_MAX (1314625 vs 1048576)"的IOException,还引申出种种解决方案。个人认为不应该有这样的限制,为了验证这个说法写了个Demo,发现将近5M的压缩 包在assets和raw中都能正常访问,因此在这里纠正一下,理论上只要打包不超过Android APK 50M大小的限制都是没有问题的。当然了,不排除是Android很早期的时候因为设备硬件原因aapt在编译的时候对这两个文件夹大小做出了限制,如果 是这样,较新版的ADT应该不会出现这种情况。

更新:为了验证我最后一段的描述,避免导致结果误 导,晚上写了几个小Demo验证之后又花了点时间查阅了一些资料,最后找到这篇文章http://ponystyle.com/blog/2010/03 /26/dealing-with-asset-compression-in-android-apps/ ,文章比较简单清晰,我就不翻译了。这篇文章应该还蛮有说服力的,从根本上说明了当时Android2.3以前产生资源文件单个文件大小不能超过1M的原 因和部分解决方法。不过由于限制是当时的aapt决定的,现在已经更新了多个版本的aapt已经不存在这种问题了,也印证了我最后一段的猜想。

C. android项目工程下面的assets目录的作用是什么

用于存放应用程序中使用尘饥的外部资源文件盯喊,程序可以通过I/O流对目录中的文件进行读写,存放在此目录下的文件都会被打包到发布包中。完美的解释,呵派则返呵

D. android工程中assets文件夹是干什么用的

存放资源文件,系统在编译的时候不会编译assets下的资源文件。

E. 用eclipse编写android项目时,项目中的gen,assets,bin,res和res里面的三个文件都是具体干什么用的

gen中的包和类是自动生成的,里面的R.java里面的内容是所有控件的ID号,当布局有问题的时候,clean一下,gen里面的内容会消失,就是丢失R包的现象,当然,有时候别的原因也会出现这一现象。
assets:Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径。
bin文件里面有一个apk文件,可以直接用来安装android项目
res是存放图片之类的资源的
里面的文件夹分别表示方的内容:values里面是放xml文件的,一般是String.xml,color.xml等属性内容;drawable是放图片文件的;layout是放布局文件的

F. 安卓手机如何打开.assets文件

1、首先,打开手机中的【文件管理】,如下图所示,然后进入下一步。
2、其次,在弹出窗口中,单击手机存储,如下图所示,然后进入下一步。
3、接着,在弹出窗口中,点击所有文件,如下图所示,然后进入下一步。
4、然后,显示所有文件后,找到ClorlOS文件夹,然后单击进入,如下图所示,然后进入下一步。
5、最后,在弹出窗口中,就可以找到font文件夹,下载的字体位于其中

热点内容
安卓导航怎么会黑屏 发布:2024-11-27 18:17:19 浏览:394
编译后代码放在单片机哪个位置 发布:2024-11-27 18:12:01 浏览:458
linux红帽安装 发布:2024-11-27 18:01:53 浏览:827
手机编程蓝牙 发布:2024-11-27 17:55:39 浏览:385
创维云电视怎么升级安卓系统 发布:2024-11-27 17:55:31 浏览:354
theisle游戏服务器搭建 发布:2024-11-27 17:47:43 浏览:210
xshell解压 发布:2024-11-27 17:35:14 浏览:359
ftp服务器管理方法 发布:2024-11-27 17:24:48 浏览:975
微信视频为什么要缓存 发布:2024-11-27 17:18:18 浏览:250
招生宣传片脚本 发布:2024-11-27 17:18:07 浏览:301