我已经尝试了很多方法来解决我在论坛上发现的问题,但我实际上无法使用Picasso库打开图像。
这是我的代码部分,感谢有人能给我一个解决方案。
File filepath = new File(Environment.getExternalStorageDirectory().getPath()+"/"+item_list.get(i).getItem_url()+".png");
Uri fileUri = Uri.fromFile(filepath);
viewHolder.tv_android.setText(item_list.get(i).getItem_name());
Picasso.with(context).load(fileUri).resize(120, 60).into(viewHolder.img_android);
和渐变依赖:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}
答案 0 :(得分:2)
最后通过添加" file://"解决我的问题在路径之前。并通过我的手机设置上的应用程序的设置授权。我将在启动时为未来创建一个弹出窗口,以便在我的应用程序上选择授权。
感谢您的帮助。
答案 1 :(得分:0)
尝试使用getAbsolutePath()
访问外部存储空间中的文件
将您的代码更改为:
File filepath = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator +item_list.get(i).getItem_url()+".png");
另请确保您为Sdk> = 23
申请Runtime permission <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
修改强>
对于内部存储使用:
File filePath = getFileStreamPath(item_list.get(i).getItem_url()+".png");
Picasso.with(context).load(filePath).into(imageView);