首页 > 解决方案 > 在毕加索中使用目标获取位图

问题描述

我正在开发电影 Android 应用程序,该应用程序从一个为所有电影提供海报路径的 API 获取电影列表。

我想Bitmap从图像的 URL 中获取图像,以将其保存为Bitmap模型类中的变量。我想将图像保存为数据库中的 blob 以直接检索它,而无需在每次用户打开应用程序时重新下载它。那可能吗?

我想做这样的事情,但它总是返回 null。

 private Bitmap posterBitmap;

 public void setPosterBitmap () {
    Picasso.get().load(POSTERS_URL).into(new Target() {
        @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
            posterBitmap = bitmap; // I don't want to set it to an Image view here
        }

        @Override
        public void onBitmapFailed(Exception e, Drawable errorDrawable) {}

        @Override
        public void onPrepareLoad(Drawable placeHolderDrawable) {}
    });   
}

提前致谢。

标签: javaandroidpicassoandroid-bitmap

解决方案


new Thread(() -> {
        try {
            Bitmap mBitmap = Picasso.get().load(link).get();
        } catch (Exception e) {
            Log.e(""+e);
        }
    }).start();

通过使用实现 'com.squareup.picasso:picasso:2.71828'


推荐阅读