Android Can';t使用毕加索从磁盘加载图像
起初,我在Stackoverflow和internet中搜索并找到许多答案,但当我尝试这些答案时,没有答案可以解决我的问题。在我的项目中,我创建了一个名为Android Can';t使用毕加索从磁盘加载图像,android,picasso,Android,Picasso,起初,我在Stackoverflow和internet中搜索并找到许多答案,但当我尝试这些答案时,没有答案可以解决我的问题。在我的项目中,我创建了一个名为files的目录 或 或 或 但没有任何效果,我只看到错误图像。Picasso将从您设备上的SD卡加载图像,而不是从您的AndroidStudio项目加载图像。您可以做的是将图片移动到drawable nodpi文件夹中(如果它还不存在,请创建它),然后您可以像这样加载图片 Picasso.with(context).load(R.drawa
files
的目录
或
或
或
但没有任何效果,我只看到错误图像。
Picasso
将从您设备上的SD卡加载图像,而不是从您的AndroidStudio
项目加载图像。您可以做的是将图片移动到drawable nodpi
文件夹中(如果它还不存在,请创建它),然后您可以像这样加载图片
Picasso.with(context).load(R.drawable.img_4).error(R.drawable.e;boss).into(imgArticle);
如果要将文件作为
资产
的一部分,则应将目录称为资产
,而不是文件
。您可以阅读更多内容,也可以从文件中加载图像。毕加索允许。这是毕加索的
RESOURCE LOADING
Resources, assets, files, content providers are all supported as image sources.
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.with(context).load(new File(...)).into(imageView3);
加载(新文件(…)-但此处的文件必须是在/data/data/package.name/…中创建的文件
所以要么将文件复制到资产,要么指定/data/data/package.name/…的路径。。。或者从SD卡。请参阅以了解如何从SD卡加载。您可以使用在此处创建文件
我认为android项目结构中没有文件/文件夹。您可能想看一看。根据对您的问题的评论,我认为您希望使用“文件”文件夹的原因是您希望按从数据库检索的名称选择图像 如果图像仍然保存在可绘制文件夹中(通常情况下),则同样的情况也很可能发生 您可以使用从数据库中选择的名称获取可绘制资源,如下所示:
Drawable d= DrawableManager.getDrawable("img_4.png");
这将减少处理器在查找和读取存储器时的负载,并减少代码
如果必须通过图像名称获取资源id,请使用以下命令:
int drawableResourceId = this.getResources().getIdentifier("drawableName", "drawable", this.getPackageName());
然后传递整数id而不是R.drawable.drawableName你能发布错误消息吗..@Keshav1234它没有显示任何文本错误。为什么不将图像放入
\res\drawable
中并避免所有的复杂性?在\src\main\files
文件夹中放置它是否有特定的原因?@Virus我有200多个图像,并将图像名称保存在数据库中。因此,我需要一种加载图像的方法。您还可以使用drawable d=DrawableManager.getDrawable(“img_4.png”)
然后使用drawable对象从资源中加载图像。我将图像名称保存在sqlite表中。所以我需要一种用毕加索显示图像的方法。那么我的图像保存在哪里呢?但是在毕加索的网站上我看到了这个picasso.with(context.load)(“file:///android_asset/DvpvklR.png)转换为(imageView2)代码>那么android_资产是否是android studio的一部分?资产是可以的。但它被称为资产
,而不是文件
“毕加索.with(context).load(”file:///android_asset/DvpvklR.png)。插入(图像视图2)
Picasso.with(context).load(R.drawable.img_4).error(R.drawable.e;boss).into(imgArticle);
RESOURCE LOADING
Resources, assets, files, content providers are all supported as image sources.
Picasso.with(context).load(R.drawable.landing_screen).into(imageView1);
Picasso.with(context).load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.with(context).load(new File(...)).into(imageView3);
Drawable d= DrawableManager.getDrawable("img_4.png");
int drawableResourceId = this.getResources().getIdentifier("drawableName", "drawable", this.getPackageName());