一般情况下我们可以直接使用AssetManager类访问Apk下的assets目录,而对于res目录下的资源,基本上都是通过其id在代码中使用。那么是否可以直接访问Apk压缩包中Res目录下的内容呢?Android支持将res/raw的资源转化为Uri形式访问(android.resource://)。
例如访问res/raw/sample.png文件,可以通过Uri形式访问
Uri uri = Uri.parse("android.resource://package_name/" + R.raw.sample)
Uri uri = Uri.parse("android.resource://package_name/raw/sample");
SD卡资源
load("file://" + Environment.getExternalStorageDirectory().getPath() + "/test.jpg")
assets资源
load("file:///android_asset/test/joe.gif")
raw资源
load("android.resource://package_name/raw/raw_1")
load("android.resource://package_name/raw/" + R.raw.raw_1)
drawable资源
load("android.resource://package_name/drawable/news")
load("android.resource://package_name/drawable/" + R.drawable.news)
ContentProvider资源
load("content://media/external/images/media/139469")