Buscar..


Introducción

Este tema se concentra principalmente en cargar los mapas de bits de manera efectiva en dispositivos Android.

Cuando se trata de cargar un mapa de bits, la pregunta viene de dónde se carga. Aquí vamos a discutir sobre cómo cargar el mapa de bits desde el recurso en el dispositivo Android. por ejemplo, desde la galería.

Vamos a pasar por esto con el ejemplo que se discute a continuación.

Sintaxis

  • <uses-permission> -> Etiqueta utilizada para el permiso.
  • android:name -> Un atributo usado para dar nombre al permiso que vamos a solicitar.
  • android.permission.READ_EXTERNAL_STORAGE -> Es permisos del sistema
  • ejemplo "android.permission.CAMERA" o "android.permission.READ_CONTACTS"

Cargue la imagen desde el recurso desde el dispositivo Android. Usando intenciones.

Usando intenciones para cargar la imagen desde la galería.

  1. Inicialmente necesitas tener el permiso
  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
  1. Utilice el siguiente Código para tener el diseño tal como está diseñado a continuación.

Diseño visual

   <?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. Utilice el siguiente código para mostrar la imagen con el botón Haga clic.

Haga clic en el botón será

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 vez que haya hecho clic en el botón, se abrirá la galería con la ayuda de la intención.

Debe seleccionar la imagen y enviarla de vuelta a la actividad principal. Aquí con la ayuda de onActivityResult podemos hacer eso.

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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow