Java 是否可以在不调用getContentResolver()的情况下从Uri检索位图?

Java 是否可以在不调用getContentResolver()的情况下从Uri检索位图?,java,android,bitmap,android-contentprovider,android-contentresolver,Java,Android,Bitmap,Android Contentprovider,Android Contentresolver,我是Android新手,如果我的问题没有太多意义的话,很抱歉,但我已经搜索了很多,现在还不能说清楚 我有一个Item对象,它使用从sqlite数据库中提取的数据进行构建。此项的一个字段是位图(作为Uri存储在数据库中),应该从项的构造函数中的Uri创建该位图 我得到java.io.FileNotFoundException:找不到authority:android的包。resource://com.my.package/drawable/theImage当我尝试在构造函数中执行以下操作时: tr

我是Android新手,如果我的问题没有太多意义的话,很抱歉,但我已经搜索了很多,现在还不能说清楚

我有一个Item对象,它使用从sqlite数据库中提取的数据进行构建。此项的一个字段是位图(作为Uri存储在数据库中),应该从项的构造函数中的Uri创建该位图

我得到
java.io.FileNotFoundException:找不到authority:android的包。resource://com.my.package/drawable/theImage
当我尝试在构造函数中执行以下操作时:

try {
     actualPic = MediaStore.Images.Media.getBitmap(app.getContentResolver(), theImageUri);
} catch (IOException e) {
     e.printStackTrace();
}
要点:MainActivity是实例化Item对象的类,它将对自身的引用传递给名为app的Item构造函数,我使用该构造函数调用getContentResolver方法

我读到我需要创建一个扩展ContentProvider的类,并在清单中声明它,但是要得到位图似乎需要做很多事情。我错过什么了吗?有没有更简单的方法来检索位图,或者我需要创建那个新类


提前感谢。

如果您只想从资源中检索位图,请选中此项:

如果您只想从资源中检索位图,请选中此项:

我按照您的建议做了以下操作:
resources res=app.getResources();int imgId=res.getIdentifier(文件名,“可绘制”,app.getPackageName());可绘制可绘制=可绘制(imgId);this.actualPic=((BitmapDrawable)drawable.getBitmap()
因此,仅使用位于drawable文件夹上的图像名称,我就可以获得所需的位图。工作得很好。谢谢。我按照你的建议做了如下工作:
Resources res=app.getResources();int imgId=res.getIdentifier(文件名,“可绘制”,app.getPackageName());可绘制可绘制=可绘制(imgId);this.actualPic=((BitmapDrawable)drawable.getBitmap()
因此,仅使用位于drawable文件夹上的图像名称,我就可以获得所需的位图。工作得很好。非常感谢。