avatar

lookenghua

独立开发者

文章

17

分类

6

标签

5

发布4 年
349

Android开发基础知识(一):Assets和Res目录

创建一个新的Android项目后会产生assets和res两个文件夹,虽然二者都是存放资源的目录,但是二者有着很大的区别。

res目录

这个目录下的文件会在R.java里自动生成该资源的ID,所以访问这种资源文件比较简单,通过R.XXX.ID

assets目录

该目录下的文件在系统的编译的时候不会参与编译,所以我们无法同像R.XXX.ID的方式来访问它们。同时我们也不能通过绝对路径去访问它们,因为apk安装之后会放在/data/app/**.apk目录下,assets被绑定在qapk里,以apk形式存在,并不会解压到/data/data/YourApp目录下面。

res/raw和assets区别

相同点:

  1. 两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。

不同点:

  1. res/raw中文件可以用R.XXX.ID访问;assets文件夹则需要使用AssetManger
  2. res/raw不可以有目录结构,而assets可以有目录结构
  3. assets目录下的文件尽可能不要超过1M,否则会有bug;而res/raw则可以不受限制

访问assets目录文件

  1. webview.loadUrl("file:///android_asset/demo/index.html")
  2. AssetManager.open(String filename) 返回的是一个InputStream类型的字节流。
avatar

lookenghua

独立开发者

文章

17

分类

6

标签

5