Android把res/raw的资源转化为Uri形式访问

来源:互联网 发布:windows粘滞键 编辑:程序博客网 时间:2024/03/28 17:18

(android.resource://)

Andorid应用会在打包成Apk时把应用中使用的资源文件都打包进去了,尤其是我们熟悉的assets和res文件夹里面存放的资源文件, 一般情况下我们可以直接使用AssetManager类访问Apk下的assets目录,而对于res目录下的资源,我们很少直接使用他们,基本上都是通过它们的id在代码中使用。那么是否可以直接访问APK压缩包中Res目录下的内容呢? 比如需要访问res/raw这样的文件夹?  如果我们想访问res/raw/sample.png文件,可以使用android.resource://package_name/" + R.raw.sample.png这种格式来获取对应的Uri(其中package_name是应用的包名),有了这个Uri那么一切都好办了。
  完整的处理代码为
Uri uri = Uri.parse("android.resource://package_name/raw/sample.png"); 
这样就可以通过Uri来使用apk中res/raw目录下的文件了。
原创粉丝点击