Android - 参考资源可绘制为URL

时间:2012-02-15 16:16:28

标签: android

我在我的Android应用中使用了一个API,可以从网上下载图像,并在下载图像时显示占位符动画(RemoteImageView,Ignition包的一部分here

在应用程序的某些位置,我需要显示本地资源绘图中的图像,而不是从网上下载。

是否可以使用URL访问本地资源drawable?

2 个答案:

答案 0 :(得分:12)

做到这一点的方法:

使用此行"android.resource://[your package]/"+[res id]

这是一个例子

Uri myURI = Uri.parse("android.resource://com.example.project/" + R.drawable.myimage);

为方便起见,您可以将其用作方法:

public static Uri getUrl(int res){
  return Uri.parse("android.resource://com.example.project/" + res);
}

警告不要使用context.getPackageName()替代包名,因为它可能会返回空值。

答案 1 :(得分:6)

本地图片资源没有网址,他们有URI。因此,如果您有drawable中的图像,则可以将它们从资源ID解析为URI。

Uri uri=Uri.parse("R.drawable.image");

但是,如果您还可以将图像放在包的资产文件夹中,并使用其URL访问它们。图像文件的URL将是“file:///android_asset/image.png” 您可以使用任一选项。