如何保存从毕加索下载的图像?

时间:2017-05-23 12:13:41

标签: android picasso

我目前正在开发一个Android应用程序,从我的自定义服务器获取图像URls并将它们加载到ImageView中。我为此使用过毕加索。我已成功完成下载过程,但我想如何将图像保存在设备中,以便用户即使在离线运行应用程序时也可以查看它们,而不会损失图像质量。我打算将图像位置存储到我的数据库中。我只需要将代码保存到内存中以及在另一个类中访问该图像的方法。正好有5张图片。

1 个答案:

答案 0 :(得分:1)

您正在加载毕加索的图片,试试这个

@Override
            public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
                new Thread(new Runnable() {

                    @Override
                    public void run() {

                        File file = new File(Environment.getExternalStorageDirectory().getPath() + "/" + url);
                        try {
                            file.createNewFile();
                            FileOutputStream ostream = new FileOutputStream(file);
                            bitmap.compress(Bitmap.CompressFormat.JPEG, 80, ostream);
                            ostream.flush();
                            ostream.close();
                        } catch (IOException e) {
                            Log.e("IOException", e.getLocalizedMessage());
                        }
                    }
                }).start();

            }

它会将加载的文件保存在设备存储中。 确保在清单中具有write_storage权限。