Loading Images With Picasso From The Internal Storage

10,824

First of all, obtain the path of the image to be loaded. Then, you can use

Picasso.with(context).load(new File(path)).into(imageView);

to load the image into an ImageView.

Share:
10,824
Ivan Javorovic
Author by

Ivan Javorovic

Updated on June 18, 2022

Comments

  • Ivan Javorovic
    Ivan Javorovic about 2 years

    I saved a few JPEG images into the phones storage and I want to load the using picasso into an ImageView. I'm having trouble with it though, whatever I try I just can't load the image, the ImageView end up being blank.

    Here's how I save and retrieve the images:

     private void saveImage(Context context, String name, Bitmap bitmap){
        name=name+".JPG";
        FileOutputStream out;
        try {
            out = context.openFileOutput(name, Context.MODE_PRIVATE);
            bitmap.compress(Bitmap.CompressFormat.JPEG, 80, out);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    
    private Bitmap getSavedImage(Context context, String name){
        name=name+".JPG";
        try{
            FileInputStream fis = context.openFileInput(name);
            Bitmap bitmap = BitmapFactory.decodeStream(fis);
            fis.close();
            return bitmap;
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return null;
    }
    

    As you can see the returned image is a bitmap, how can I load it into a imageview using picasso? I know I can load the bitmap into an image like this:

    imageView.setImageBitmap(getSavedImage(this,user.username+"_Profile"));

    But I have a class which using picasso rounds up the image(users profile photo) so I need to load it with picasso.

  • Rohit Singh
    Rohit Singh almost 4 years
    The key here is using .load(new File(path)) instead of .load(path). Works like charm. I am using this for loading image from internal storage