Android把res/raw的资源转化为Uri形式访问(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目录下的文件了。
完整的处理代码为
Uri uri = Uri.parse("android.resource://package_name/raw/sample.png");
这样就可以通过Uri来使用apk中res/raw目录下的文件了。
这篇文章不得,请不要使用!!!