Android资源转化为Uri形式访问

一般情况下我们可以直接使用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")
上一篇 Android PtrFrameLayout实现下拉刷新与上拉加载更多
下一篇 Android引用Library的若干问题
目录
文章列表
1 Android SpannableString属性详解
Android SpannableString属性详解
2
Vue解析Markdown实现
Vue解析Markdown实现
3
Android Toolbar自定义菜单
Android Toolbar自定义菜单
4
Gradle配置Http代理
Gradle配置Http代理
5
Windows下安装RabbitMQ
Windows下安装RabbitMQ
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。