web-dev-qa-db-fra.com

Afficher la vue de l'image à partir du chemin du fichier?

Je dois afficher une image en utilisant uniquement le nom de fichier, pas à partir de l'ID de la ressource.

ImageView imgView = new ImageView(this);
imgView.setBackgroundResource(R.drawable.img1);

J'ai l'image img1 dans le dossier pouvant être dessiné. Je souhaite montrer cette image du fichier.

Comment puis-je faire ça?

283
Alex

Labeeb a raison de dire pourquoi vous devez définir une image à l'aide de path si vos ressources se trouvent déjà dans le dossier de ressources,

Ce type de chemin n'est nécessaire que lorsque vos images sont stockées sur une carte SD.

Et essayez le code ci-dessous pour définir des images bitmap à partir d'un fichier stocké dans une carte SD.

File imgFile = new  File("/sdcard/Images/test_image.jpg");

if(imgFile.exists()){

    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());

    ImageView myImage = (ImageView) findViewById(R.id.imageviewTest);

    myImage.setImageBitmap(myBitmap);

}

Et incluez cette permission dans le fichier manifeste:

<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
619
Paresh Mayani

Je pense que tu peux utiliser ça

Bitmap bmImg = BitmapFactory.decodeFile("path of your img1");
imageView.setImageBitmap(bmImg);
50
Labeeb Panampullan

Vous pouvez aussi utiliser:



    File imgFile = new  File(“filepath”);
    if(imgFile.exists())
    {
        ImageView myImage = new ImageView(this);
        myImage.setImageURI(Uri.fromFile(imgFile));

    }

Cela fait le décodage bitmap implicite pour vous.

30
BernhardR
String path = Environment.getExternalStorageDirectory()+ "/Images/test.jpg";

File imgFile = new File(path);
if(imgFile.exists())
{
   Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
   ImageView imageView=(ImageView)findViewById(R.id.imageView);
  imageView.setImageBitmap(myBitmap);
}
23
user938893

Toutes les réponses sont obsolètes. Il est préférable d'utiliser picasso à ces fins. Il a beaucoup de fonctionnalités, y compris le traitement d'image de fond.

Ai-je mentionné qu'il est super facile à utiliser:

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

Depuis le site officiel: http://developer.Android.com/training/displaying-bitmaps/load-bitmap.html

ImageView image = (ImageView) findViewById(R.id.imagePreview);           
try {
    image.setImageBitmap(decodeSampledBitmap(picFilename));
} catch (Exception e) {
    e.printStackTrace();
}

Voici les méthodes:

    private int calculateInSampleSize(
            BitmapFactory.Options options, int reqWidth, int reqHeight) {
        // Raw height and width of image
        final int height = options.outHeight;
        final int width = options.outWidth;
        int inSampleSize = 1;

        if (height > reqHeight || width > reqWidth) {

            final int halfHeight = height / 2;
            final int halfWidth = width / 2;

            // Calculate the largest inSampleSize value that is a power of 2 and keeps both
            // height and width larger than the requested height and width.
            while ((halfHeight / inSampleSize) > reqHeight
                    && (halfWidth / inSampleSize) > reqWidth) {
                inSampleSize *= 2;
            }
        }

        return inSampleSize;
    }

    private Bitmap decodeSampledBitmap(String pathName,
            int reqWidth, int reqHeight) {

        // First decode with inJustDecodeBounds=true to check dimensions
        final BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        BitmapFactory.decodeFile(pathName, options);

        // Calculate inSampleSize
        options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);

        // Decode bitmap with inSampleSize set
        options.inJustDecodeBounds = false;
        return BitmapFactory.decodeFile(pathName, options);
    }

//I added this to have a good approximation of the screen size: 
    private Bitmap decodeSampledBitmap(String pathName) {
        Display display = getWindowManager().getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        int width = size.x;
        int height = size.y;
        return decodeSampledBitmap(pathName, width, height);
    }   
8
Accollativo

Vous pouvez utiliser:

ImageView imgView = new ImageView(this);
InputStream is = getClass().getResourceAsStream("/drawable/" + fileName);
imgView.setImageDrawable(Drawable.createFromStream(is, ""));
5
rosa

Comment afficher les images du chemin du dossier dans Android

Tout d'abord: assurez-vous d'avoir ajouté des autorisations dans le fichier Mainfest:

 <uses-permission Android:name="Android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />

##: Faire une classe MyGallery

classe publique MyGallery étend l'activité {

private GridView gridView;
private String _location;

private String newFolder = "/IslamicGif/";
private String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
private AdView mAdView;
private ArrayList<Bitmap> photo = new ArrayList<Bitmap>();
public static String[] imageFileList;
TextView gallerytxt;

public static ImageAdapter imageAdapter;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.mygallery);
    /*if (MenuClass.mInterstitialAd.isLoaded()) {
        MenuClass.mInterstitialAd.show();
    }*/

    gallerytxt = (TextView) findViewById(R.id.gallerytxt);
    /*gallerytxt.setTextSize(20);
    int[] color = {Color.YELLOW,Color.WHITE};
    float[] position = {0, 1};
    Shader.TileMode tile_mode0= Shader.TileMode.REPEAT; // or TileMode.REPEAT;
    LinearGradient lin_grad0 = new LinearGradient(0, 0, 0, 200,color,position, tile_mode0);
    Shader shader_gradient0 = lin_grad0;
    gallerytxt.getPaint().setShader(shader_gradient0);*/
    ImageButton btn_back = (ImageButton) findViewById(R.id.btn_back);
    btn_back.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            MyGallery.this.finish();
        }
    });


    mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder()
            .build();
    mAdView.loadAd(adRequest);
    gridView = (GridView) findViewById(R.id.gridView);

    new MyGalleryAsy().execute();

    gridView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
            // TODO Auto-generated method stub
            Intent intent = new Intent(MyGallery.this, ImageDetail.class);
            intent.putExtra("ImgUrl", imageFileList[pos]);

            //Toast.makeText(MyGallery.this,"image detail"+pos,Toast.LENGTH_LONG).show();
            startActivity(intent);
        }
    });


}

protected void onStart() {
    super.onStart();
    if (ImageDetail.deleted) {
        photo = new ArrayList<Bitmap>();
        new MyGalleryAsy().execute();
        ImageDetail.deleted = false;
    }

}

public class MyGalleryAsy extends AsyncTask<Void, Void, Void> {
    private ProgressDialog dialog;
    Bitmap mBitmap;

    @Override
    protected void onPreExecute() {
        dialog = ProgressDialog.show(MyGallery.this, "", "Loading ...", true);
        dialog.show();
    }

    @Override
    protected Void doInBackground(Void... arg0) {

        readImage();
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {

        dialog.dismiss();
        DisplayMetrics displayMatrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(displayMatrics);
        int screenWidth = displayMatrics.widthPixels / 3;

        if (photo.size() > 0) {
            imageAdapter = new ImageAdapter(MyGallery.this, screenWidth);
            gridView.setAdapter(imageAdapter);
        }

    }

}


private void readImage() {
    // TODO Auto-generated method stub


    try {
        if (isSdPresent()) {
            _location = extStorageDirectory + newFolder;
        } else
            _location = getFilesDir() + newFolder;
        File file1 = new File(_location);

        if (file1.isDirectory()) { // sdCard == true
            imageFileList = file1.list();
            if (imageFileList != null) {
                for (int i = 0; i < imageFileList.length; i++) {
                    try {
                        photo.add(BitmapFactory.decodeFile(_location + imageFileList[i].trim()));
                    } catch (Exception e) {
                        // TODO: handle exception
                        //Toast.makeText(getApplicationContext(), e.toString(),Toast.LENGTH_LONG).show();
                    }
                }
            }
        }
    } catch (Exception e) {
        // TODO: handle exception
    }
}

public static boolean isSdPresent() {
    return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
}

public class ImageAdapter extends BaseAdapter {

    private Context context;
    private LayoutInflater layoutInflater;
    private int width;
    private int mGalleryItemBackground;

    public ImageAdapter(Context c) {
        context = c;

    }

    public ImageAdapter(Context c, int width) {
        context = c;
        this.width = width;
    }

    public int getCount() {
        return photo.size();
    }

    public Object getItem(int position) {
        return null;
    }

    public long getItemId(int position) {
        return 0;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = layoutInflater.inflate(R.layout.galleryadapter, null);

        RelativeLayout layout = (RelativeLayout) v.findViewById(R.id.galleryLayout);

        ImageView imageView = new ImageView(context);
        layout.addView(imageView, new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, width));
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        layout.setLayoutParams(new GridView.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, width));
        imageView.setImageBitmap(photo.get(position));

        return v;

    }

    public void updateItemList(ArrayList<Bitmap> newItemList) {
        photo = newItemList;
        notifyDataSetChanged();
    }
}

}

Maintenant, créez sa classe Xml

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:ads="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@drawable/bg"
Android:orientation="vertical">

<RelativeLayout
    Android:id="@+id/relativeLayout"
    Android:layout_width="match_parent"
    Android:layout_height="56dp"
    Android:background="@color/colorPrimary"
    Android:minHeight="?attr/actionBarSize">

    <TextView
        Android:id="@+id/gallerytxt"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_centerHorizontal="true"
        Android:layout_centerVertical="true"
        Android:layout_gravity="center"
        Android:fontFamily="@string/font_fontFamily_medium"
        Android:text="My Gallery"
        Android:textAppearance="?android:attr/textAppearanceMedium"
        Android:textColor="@Android:color/black"
        Android:textStyle="bold" />

    <ImageButton
        Android:id="@+id/btn_back"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_alignParentStart="true"
        Android:layout_centerVertical="true"
        Android:layout_marginLeft="12dp"
        Android:background="@drawable/ic_arrow_back_black_24dp" />
</RelativeLayout>


<com.google.Android.gms.ads.AdView
    Android:id="@+id/adView"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:layout_alignParentBottom="true"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentStart="true"
    Android:layout_gravity="center|bottom"
    Android:visibility="gone"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_id" />

<GridView
    Android:id="@+id/gridView"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_above="@+id/adView"
    Android:layout_alignParentLeft="true"
    Android:layout_alignParentStart="true"
    Android:layout_below="@+id/relativeLayout"
    Android:horizontalSpacing="5dp"
    Android:numColumns="2"
    Android:smoothScrollbar="true"
    Android:verticalSpacing="5dp"></GridView>

Faire également Adapter galleryadapter.xml

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
xmlns:ads="http://schemas.Android.com/apk/res-auto"
Android:orientation="vertical"
Android:id="@+id/galleryLayout"
Android:padding="2dp">

enter image description here

Pour voir l’image en détail créer une nouvelle classe ImageDetail:

public class ImageDetail extends Activity implements OnClickListener {
public static InterstitialAd mInterstitialAd;
private ImageView mainImageView;
private LinearLayout menuTop;
private TableLayout menuBottom;
private Boolean onOff = true;
private ImageView delButton, mailButton, shareButton;

private String imgUrl = null;
private AdView mAdView;
TextView titletxt;
private String newFolder = "/IslamicGif/";
private String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
public static boolean deleted = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.image_detail);

    mAdView = (AdView) findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder()
            .build();
    mAdView.loadAd(adRequest);
    mAdView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            mAdView.setVisibility(View.VISIBLE);
        }
    });
    mainImageView = (ImageView) findViewById(R.id.mainImageView);
    menuTop = (LinearLayout) findViewById(R.id.menuTop);
    menuBottom = (TableLayout) findViewById(R.id.menuBottom);
    titletxt = (TextView) findViewById(R.id.titletxt);
    titletxt.setTextSize(22);
    mInterstitialAd = new InterstitialAd(this);
    mInterstitialAd.setAdUnitId(getString(R.string.interstial_id));

    mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {
            requestNewInterstitial();

        }
    });
    requestNewInterstitial();
    delButton = (ImageView) findViewById(R.id.delButton);
    mailButton = (ImageView) findViewById(R.id.mailButton);
    shareButton = (ImageView) findViewById(R.id.shareButton);

    Bundle exBundle = getIntent().getExtras();
    if (exBundle != null) {
        imgUrl = exBundle.getString("ImgUrl");
    }
    if (isSdPresent()) {
        imgUrl = extStorageDirectory + newFolder + imgUrl;
    } else
        imgUrl = getFilesDir() + newFolder + imgUrl;

    if (imgUrl != null) {
        GlideDrawableImageViewTarget imageViewTarget = new GlideDrawableImageViewTarget(mainImageView);
        Glide.with(this).load(imgUrl).into(imageViewTarget);

    }


    delButton.setOnClickListener(this);
    mailButton.setOnClickListener(this);
    shareButton.setOnClickListener(this);


}

public static boolean isSdPresent() {
    return Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);
}


@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    switch (arg0.getId()) {
        case R.id.shareButton:
            Image_Link();
            break;
        case R.id.delButton:
            deleted();
            break;
        case R.id.mailButton:
            sendemail();
            break;
        default:
            break;
    }
}

private void sendemail() {

    try {

        File photo = new File(imgUrl);
        Uri imageuri = Uri.fromFile(photo);


        String url = Constant.AppUrl;

        SpannableStringBuilder builder = new SpannableStringBuilder();
        builder.append("Face Placer App Available here..Play Link");
        int start = builder.length();
        builder.append(url);
        int end = builder.length();

        builder.setSpan(new URLSpan(url), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        Intent emailIntent2 = new Intent(Intent.ACTION_SEND);
        String[] recipients2 = new String[]{"[email protected]", "",};
        emailIntent2.putExtra(Intent.EXTRA_EMAIL, recipients2);
        emailIntent2.putExtra(Intent.EXTRA_SUBJECT, "Sample mail");
        emailIntent2.putExtra(Intent.EXTRA_STREAM, imageuri);
        emailIntent2.putExtra(Intent.EXTRA_TEXT, builder);
        emailIntent2.setType("text/html");
        emailIntent2.setType("image/JPEG");
        startActivity(Intent.createChooser(emailIntent2, "Send mail client :"));

    } catch (Exception e) {
        // TODO: handle exception

        Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
    }
}


private void Image_Link() {

    try {

        File photo = new File(imgUrl);
        Uri imageuri = Uri.fromFile(photo);


        String url = Constant.AppUrl;

        SpannableStringBuilder builder = new SpannableStringBuilder();
        builder.append("Face Placer App Available here..Play Link");
        int start = builder.length();
        builder.append(url);
        int end = builder.length();

        builder.setSpan(new URLSpan(url), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        Intent emailIntent2 = new Intent(Intent.ACTION_SEND);
        String[] recipients2 = new String[]{"[email protected]", "",};
        emailIntent2.putExtra(Intent.EXTRA_EMAIL, recipients2);
        emailIntent2.putExtra(Intent.EXTRA_SUBJECT, "Sample mail");
        emailIntent2.putExtra(Intent.EXTRA_STREAM, imageuri);
        emailIntent2.putExtra(Intent.EXTRA_TEXT, builder);
        emailIntent2.setType("text/html");
        emailIntent2.putExtra(Intent.EXTRA_TEXT, "Face Placer App Available here..Play Link " + url);
        emailIntent2.setType("image/JPEG");
        startActivity(Intent.createChooser(emailIntent2, "Send mail client :"));

    } catch (Exception e) {
        // TODO: handle exception

        Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
    }
}


private void deleted() {
    if (mInterstitialAd.isLoaded()) {
        mInterstitialAd.show();
    }

    AlertDialog.Builder builder = new AlertDialog.Builder(ImageDetail.this);
    builder.setTitle(getString(R.string.removeoption));
    builder.setMessage(getString(R.string.deleteimage));
    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            // User clicked OK button
            dialog.cancel();
            File fileDel = new File(imgUrl);
            boolean isCheck1 = fileDel.delete();

            if (isCheck1) {
                deleted = true;
                finish();
                MyGallery.imageAdapter.notifyDataSetChanged();

            } else {
                Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_LONG).show();
            }
        }
    });

    builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int id) {
            // User clicked OK button
            dialog.cancel();

        }
    });
    Dialog dialog = builder.create();
    dialog.show();


}


private boolean isNetworkConnected() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo ni = cm.getActiveNetworkInfo();
    if (ni == null) {
        // There are no active networks.
        return false;
    } else
        return true;
}

private void requestNewInterstitial() {
    AdRequest adRequest = new AdRequest.Builder()
            .addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID")
            .build();

    mInterstitialAd.loadAd(adRequest);
}

}

Créer son xml image_detail.xml

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:ads="http://schemas.Android.com/apk/res-auto"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:background="@drawable/bg"
Android:orientation="vertical">

<ImageView
    Android:id="@+id/mainImageView"
    Android:layout_width="match_parent"
    Android:layout_height="fill_parent"
    Android:layout_alignParentBottom="true"
    Android:contentDescription="@string/app_name"
    Android:focusable="true"
    Android:focusableInTouchMode="true" />

<LinearLayout
    Android:id="@+id/adlayout"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_centerHorizontal="true"
    Android:orientation="horizontal"
    Android:visibility="gone"></LinearLayout>

<LinearLayout
    Android:id="@+id/menuTop"
    Android:layout_width="fill_parent"
    Android:layout_height="56dp"
    Android:layout_alignWithParentIfMissing="true"
    Android:layout_below="@+id/adlayout"
    Android:background="@color/colorPrimary"
    Android:orientation="vertical"
    Android:padding="10.0dip"
    Android:visibility="visible">

    <TextView
        Android:id="@+id/titletxt"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        Android:gravity="center"
        Android:text="Islamic Gifs"
        Android:textColor="#000000"
        Android:textSize="22sp"
        Android:textStyle="bold" />
</LinearLayout>

<TableLayout
    Android:id="@+id/menuBottom"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_alignParentBottom="true"
    Android:background="@color/colorPrimary"
    Android:padding="10.0dip"
    Android:stretchColumns="*"
    Android:visibility="visible">

    <TableRow>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:gravity="center_horizontal">

            <ImageView
                Android:id="@+id/mailButton"
                Android:layout_width="52dp"
                Android:layout_height="52dp"
                Android:background="@drawable/selector_shareimage"
                Android:contentDescription="@string/app_name" />
        </LinearLayout>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:gravity="center_horizontal">

            <ImageView
                Android:id="@+id/shareButton"
                Android:layout_width="52dp"
                Android:layout_height="52dp"
                Android:background="@drawable/selector_shareimage_small"
                Android:contentDescription="@string/app_name" />
        </LinearLayout>

        <LinearLayout
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:gravity="center_horizontal">

            <ImageView
                Android:id="@+id/delButton"
                Android:layout_width="52dp"
                Android:layout_height="52dp"
                Android:background="@drawable/selector_delete"
                Android:contentDescription="@string/app_name" />
        </LinearLayout>
    </TableRow>
</TableLayout>

<com.google.Android.gms.ads.AdView
    Android:id="@+id/adView"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_below="@+id/menuTop"
    Android:layout_centerHorizontal="true"
    Android:visibility="gone"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_id"></com.google.Android.gms.ads.AdView>

Ajoutez votre propre classe Drawable to Selector et créez-la res> drawable> selector_shareimage.xml

<?xml version="1.0" encoding="utf-8"?>
<item Android:drawable="@drawable/result_bt_mail" Android:state_enabled="true" Android:state_pressed="true"/>
<item Android:drawable="@drawable/result_bt_mail" Android:state_enabled="true" Android:state_focused="true"/>
<item Android:drawable="@drawable/result_bt_mail" Android:state_enabled="true" Android:state_selected="true"/>
<item Android:drawable="@drawable/result_bt_mail_s"/>

enter image description here

4
Najaf Ali

Vous pouvez l’utiliser pour accéder à un dossier spécifique et obtenir une image particulière.

 public void Retrieve(String path, String Name)
   {
    File imageFile = new File(path+Name);

    if(imageFile.exists()){

        Bitmap myBitmap = BitmapFactory.decodeFile(path+Name);
        myImage = (ImageView) findViewById(R.id.savedImage);
        myImage.setImageBitmap(myBitmap);
        Toast.makeText(SaveImage.this, myBitmap.toString(), Toast.LENGTH_LONG).show();

    }
}

Et puis vous pouvez l'appeler par

Retrieve(Environment.getExternalStorageDirectory().toString()+"/Aqeel/Images/","Image2.PNG");
Toast.makeText(SaveImage.this, "Saved", Toast.LENGTH_LONG).show();
3
Amt87
       public static Bitmap decodeFile(String path) {
    Bitmap b = null;
    File f = new File(path);
    // Decode image size
    BitmapFactory.Options o = new BitmapFactory.Options();
    o.inJustDecodeBounds = true;

    FileInputStream fis = null;
    try {
        fis = new FileInputStream(f);
        BitmapFactory.decodeStream(fis, null, o);
        fis.close();

        int IMAGE_MAX_SIZE = 1024; // maximum dimension limit
        int scale = 1;
        if (o.outHeight > IMAGE_MAX_SIZE || o.outWidth > IMAGE_MAX_SIZE) {
            scale = (int) Math.pow(2, (int) Math.round(Math.log(IMAGE_MAX_SIZE / (double) Math.max(o.outHeight, o.outWidth)) / Math.log(0.5)));
        }

        // Decode with inSampleSize
        BitmapFactory.Options o2 = new BitmapFactory.Options();
        o2.inSampleSize = scale;

        fis = new FileInputStream(f);
        b = BitmapFactory.decodeStream(fis, null, o2);
        fis.close();

    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return b;
}

public static Bitmap showBitmapFromFile(String file_path)
{
    try {
        File imgFile = new  File(file_path);
        if(imgFile.exists()){

            Bitmap pic_Bitmap = decodeFile(file_path);
            return pic_Bitmap;

        }
    } catch (Exception e) {
        MyLog.e("Exception showBitmapFromFile");
        return null;
    }
    return null;
}   

si vous utilisez le chargement d'images en mode Liste, utilisez le concept Aquery.

https://github.com/AshishPsaini/AqueryExample

     AQuery  aq= new AQuery((Activity) activity, convertView);
            //load image from file, down sample to target width of 250 pixels .gi 
    File file=new File("//pic/path/here/aaaa.jpg");
    if(aq!=null)
    aq.id(holder.pic_imageview).image(file, 250);
3
Ashish Saini

onLoadImage Charge complète

  private void onLoadImage(final String imagePath) {
    ImageSize targetSize = new ImageSize(imageView.getWidth(), imageView.getHeight()); // result Bitmap will be fit to this size

    //ImageLoader imageLoader = ImageLoader.getInstance(); // Get singleto
    com.nostra13.universalimageloader.core.ImageLoader imageLoader = com.nostra13.universalimageloader.core.ImageLoader.getInstance();
    imageLoader.init(ImageLoaderConfiguration.createDefault(getContext()));


    imageLoader.loadImage(imagePath, targetSize, new SimpleImageLoadingListener() {
        @Override
        public void onLoadingStarted(final String imageUri, View view) {
            super.onLoadingStarted(imageUri, view);

            progress2.setVisibility(View.VISIBLE);


           new Handler().post(new Runnable() {
               public void run() {

                    progress2.setColorSchemeResources(Android.R.color.holo_green_light, Android.R.color.holo_orange_light, Android.R.color.holo_red_light);


                  //  Picasso.with(getContext()).load(imagePath).into(imageView);
                     // Picasso.with(getContext()).load(imagePath) .memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE).into(imageView);

                    Glide.with(getContext())
                            .load(imagePath)
                            .asBitmap()
                          .into(imageView);

                }
          });

        }



        @Override
        public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
            if(view == null){
                progress2.setVisibility(View.INVISIBLE);

            }

// autre {

            Log.e("onLoadImage","onLoadingComplete");
            //    progress2.setVisibility(View.INVISIBLE);
          //  }
            //  setLoagingCompileImage();
        }

        @Override
        public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
            super.onLoadingFailed(imageUri, view, failReason);

            if(view == null){
                progress2.setVisibility(View.INVISIBLE);

            }

            Log.e("onLoadingFailed",imageUri);

            Log.e("onLoadingFailed",failReason.toString());
        }

        @Override
        public void onLoadingCancelled(String imageUri, View view) {
            super.onLoadingCancelled(imageUri, view);

            if(view == null){
                progress2.setVisibility(View.INVISIBLE);

            }

            Log.e("onLoadImage","onLoadingCancelled");
        }
    });
}
3
Pong Petrung