繁体   English   中英

如何从Android Studio / java中的drawable文件夹获取图像的内部url?

[英]How can get internal url of an image from drawable folder in Android studio/java?

如何在Java代码中的drawable文件夹中使用存储的图像?

我将文件存储在以下路径中: res/drawble/img.jpg

看:

在.xml中,我通过以下方式调用图片:

android:icon="@drawable/ic_action_arrow_back"

目前我有一个函数使用外部图像URL:

//function 
imgprocess('http://www.google.com/img.jpg')

现在! 我不想使用外部图像链接。 因为我希望我的应用程序可以脱机工作。

所以我将img.jpg保存在drawable文件夹中,然后尝试在Java代码中调用它,如下所示:

//function 
imgprocess(@drawable/img)

好。 我知道这段代码是错误的。

所有答案都建议使用Drawable,但我不明白为什么要回答? 它只是给我一个无字符串的ID。 另外,我的xml文件中都没有ImageView或TextView。 我不需要它们 我只希望Java代码直接访问该图像。

例如,此代码返回img的名称:

String resourceName = getResources().getResourceName(R.drawable.img);

所以我认为它必须有一个函数来返回要在Java中使用的图像路径,我知道下面的代码是错误的,但类似这样:

String resourceURL = getResources().getResourceURL(R.drawable.img);

我希望我能清楚地解释我的问题。 函数如何直接从内部可绘制文件夹访问图像作为内部链接?


例如在HTML <img src="http://google.com/img.jpg">是外部图像...,您可以轻松地将图像保存在根文件夹中并以这种方式调用: <img src="img.jpg"> ...

那么,您的预期结果到底是什么? 我认为另一个问题几乎可以解释如何从资源解析本地URI。

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

URL不是Drawable,而是URI,这里是使用文件名的示例方法

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

其他示例是设备SD卡中的URI。

Uri myURI = Uri.fromFile(new File("/sdcard/monsterdog.jpg"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM