Для отображения изображения в ImageView, где идентификаторы нарисованных изображений хранятся в столбце базы данных с помощью Picasso - PullRequest
0 голосов
/ 25 декабря 2018

Я использую Picasso, чтобы установить изображение в ImageView из базы данных, где я сохранил идентификатор нарисованного изображения в базе данных.Он отлично работает, когда я храню URL (например, https://loremflickr.com/g/320/240/paris)but, для которого он не работает (например, R.drawable.team). [Образ базы данных]

        //image is the database column containing image ids
        Context context = imageText.getContext();
        Picasso.with(context)
                .load(image)
                .placeholder(R.mipmap.ic_launcher)
                .error(R.mipmap.ic_launcher)
                .resize(50, 50)
                .into(imageview);  

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018

Picasso - это только библиотека, которая упрощает рендеринг изображения по пути uri или url, без Picasso вам нужно создать довольно сложный асинхронный скрипт.Но если у вас есть динамические данные для вашего пути прорисовки, вы можете сделать это с помощью регулярного цикла.Теперь они поддерживают загрузку Image из URI следующим образом:

Picasso.get().load(R.drawable.landing_screen).into(imageView1);
Picasso.get().load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.get().load(new File(...)).into(imageView3);

From picasso v2 + . Вот большая модификация.Новая версия очень полезна для управления кассовыми данными.Он использует экземпляр Singleton.

Кстати, пожалуйста, не сохраняйте нарисованный идентификатор, просто сохраните имя для рисования, чтобы позже при вызове использовать метод, подобный следующему

private void loadImage(String mImageName, ImageView mImageIcon){
int resID = mContext.getResources().getIdentifier(mImageName , "drawable", mContext.getPackageName());
            if(resID!=0) {//The associated resource identifier. Returns 0 if no such resource was found. (0 is not a valid resource ID.)
                mImageIcon.setImageResource(resID);
            }
}
0 голосов
/ 25 декабря 2018

Вы должны передать путь изображения, чтобы установить изображение. Используйте библиотеку Glide, чтобы установить изображение, это легко и имеет больше функциональности, чем Picasso

...