0

我有一个引用图像的类。此图像可以在服务器上或应用程序的可绘制资源中。我需要存储图像文件的 url 或可绘制位置的位置。为了处理这个问题,我使用 Uri 作为类的属性。

首先,这是一个正确的解决方案吗?那么,如何检查 Uri 是否具有对可绘制对象的引用或对 URL 的引用?以及如何将可绘制资源的位置存储在 Uri 中?

4

2 回答 2

1

您提出的是一种解决方案。如果没有看到一些代码,很难说这是否是正确的解决方案。

我自己没有尝试过,但显然你可以像这样使用 Uri 来绘制:

Uri uri = Uri.parse("android.resource://your.package.here/drawable/image_name");
InputStream stream = getContentResolver().openInputStream(uri);

这意味着您应该能够将 URI 作为 String 存储在SharedPreferences中。下次您需要加载图像时,您从 SharedPreferences 检索 URI 字符串,如果字符串以“android.resource://”开头,则使用内容解析器和BitmapFactory.loadStream()加载图像。如果字符串不是以“android.resource://”开头,那么您将使用您决定给我们的任何 Http 框架(OkHttp、UrlConnection、Android Async Http 等)在网络上获取图像的输入流。

于 2013-05-22T07:34:41.657 回答
0
Uri uri = Uri.parse("string");

在此字符串中,您可以传递图像的 url 或名称或路径。

于 2013-05-22T08:05:29.547 回答