Android资源转化为Uri形式访问

一般情况下我们可以直接使用AssetManager类访问Apk下的assets目录,而对于res目录下的资源,基本上都是通过其id在代码中使用。那么是否可以直接访问Apk压缩包中Res目录下的内容呢?Android支持将res/raw的资源转化为Uri形式访问(android.resource://)

例如访问res/raw/sample.png文件,可以通过Uri形式访问

1
2
Uri uri = Uri.parse("android.resource://package_name/" + R.raw.sample)
Uri uri = Uri.parse("android.resource://package_name/raw/sample");

SD卡资源

1
load("file://" + Environment.getExternalStorageDirectory().getPath() + "/test.jpg")

assets资源

1
load("file:///android_asset/test/joe.gif")

raw资源

1
2
load("android.resource://package_name/raw/raw_1")
load("android.resource://package_name/raw/" + R.raw.raw_1)

drawable资源

1
2
load("android.resource://package_name/drawable/news")
load("android.resource://package_name/drawable/" + R.drawable.news)

ContentProvider资源

1
load("content://media/external/images/media/139469")

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :