Ricerca…


introduzione

Questo argomento si concentra principalmente sul caricamento efficace dei bitmap nei dispositivi Android.

Quando si tratta di caricare una bitmap, la domanda arriva da dove viene caricata. Qui discuteremo su come caricare Bitmap dalla risorsa con il dispositivo Android. ad es. dalla galleria.

Passeremo attraverso questo esempio che viene discusso di seguito.

Sintassi

  • <uses-permission> -> Tag utilizzato per l'autorizzazione.
  • android:name -> Un attributo usato per dare un nome al permesso che stiamo per richiedere.
  • android.permission.READ_EXTERNAL_STORAGE -> Sono permessi di sistema
  • esempio "android.permission.CAMERA" o "android.permission.READ_CONTACTS"

Carica l'immagine dalla risorsa dal dispositivo Android. Utilizzo di Intenti.

Utilizzo di Intenti per caricare l'immagine dalla galleria.

  1. Inizialmente è necessario il permesso
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  1. Utilizzare il seguente codice per avere il layout come progettato di seguito.

Layout visivo

   <?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. Usa il seguente codice per visualizzare l'immagine con il pulsante Clicca.

Il clic del pulsante sarà

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. Una volta cliccato sul pulsante, si aprirà la galleria con l'aiuto di intenti.

Devi selezionare l'immagine e inviarla all'attività principale. Qui con l'aiuto di onActivityResult possiamo farlo.

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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow