Recherche…


Introduction

Cette rubrique se concentre principalement sur le chargement efficace des images bitmap dans les appareils Android.

Lorsqu'il s'agit de charger un bitmap, la question vient d'où il est chargé. Ici, nous allons discuter de la façon de charger le bitmap à partir de ressources dans le périphérique Android. c'est-à-dire par exemple de la galerie.

Nous allons passer en revue ceci par exemple qui sont discutés ci-dessous.

Syntaxe

  • <uses-permission> -> Balise utilisée pour l'autorisation.
  • android:name -> Un attribut utilisé pour donner le nom de la permission que nous allons demander.
  • android.permission.READ_EXTERNAL_STORAGE -> Il s'agit d'autorisations système
  • exemple "android.permission.CAMERA" ou "android.permission.READ_CONTACTS"

Chargez l'image à partir d'une ressource à partir d'un périphérique Android. Utiliser les intentions.

Utilisation des intentions pour charger l'image depuis la galerie.

  1. Au départ, vous devez avoir la permission
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  1. Utilisez le code suivant pour que la mise en page soit conçue comme suit.

Mise en page visuelle

   <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="androidexamples.idevroids.loadimagefrmgallery.MainActivity">

    <ImageView
        android:id="@+id/imgView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:background="@color/abc_search_url_text_normal"></ImageView>

    <Button
        android:id="@+id/buttonLoadPicture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:text="Load Picture"
        android:layout_gravity="bottom|center"></Button>

</LinearLayout>
  1. Utilisez le code suivant pour afficher l'image avec le bouton Click.

Le clic sur le bouton sera

Button loadImg = (Button) this.findViewById(R.id.buttonLoadPicture);
loadImg.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        startActivityForResult(i, RESULT_LOAD_IMAGE);
    }
});
  1. Une fois que vous avez cliqué sur le bouton, la galerie s'ouvre avec l'aide de votre intention.

Vous devez sélectionner l'image et la renvoyer à l'activité principale. Ici, avec l'aide de onActivityResult, nous pouvons le faire.

protected void onActivityResult(int requestCode, int resultCode, Intent data)  {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
        Uri selectedImage = data.getData();
        String[] filePathColumn = { MediaStore.Images.Media.DATA };

        Cursor cursor = getContentResolver().query(selectedImage,
                filePathColumn, null, null, null);
        cursor.moveToFirst();

        int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
        String picturePath = cursor.getString(columnIndex);
        cursor.close();

        ImageView imageView = (ImageView) findViewById(R.id.imgView);
        imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath));

    }
}


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow