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

时间:2015-07-04 03:43:02

标签: java android android-studio android-drawable

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

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

外观:

in .xml我以这种方式调用图像:

android:icon="@drawable/ic_action_arrow_back"

目前我有一个功能使用外部图片网址:

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

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

所以我在drawable文件夹中保存了img.jpg然后尝试用这样的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);

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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"));