Android
Cargando Bitmaps Efectivamente
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.
- Inicialmente necesitas tener el permiso
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
- Utilice el siguiente Código para tener el diseño tal como está diseñado a continuación.
<?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>
- 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);
}
});
- 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