Botón de exploración de imágenes en la actividad de Android

Actualmente estoy desarrollando una aplicación que requiere un botón de exploración en mi actividad. Cuando presiono el botón de navegación debería ser capaz de navegar por los archivos de imagen en mi tarjeta SD, así como en la memoria del teléfono. Al seleccionar el archivo de imagen debe seleccionarse y la ruta del archivo de imagen (es decir, donde se encuentra el archivo de imagen seleccionado) debe mostrarse en la actividad en una vista de texto. Además, la imagen seleccionada debe mostrarse en una vista de imagen. ¿Como hacer esto? Puede alguien ayudarme..

Main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@+id/imgView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1"></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="center"></Button> </LinearLayout> 

MainActivity.java

 package com.example.yourpackage; import android.app.Activity; import android.content.Intent; import android.database.Cursor; import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity { private static int RESULT_LOAD_IMAGE = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button buttonLoadImage = (Button) findViewById(R.id.buttonLoadPicture); buttonLoadImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent i = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(i, RESULT_LOAD_IMAGE); } }); } @Override 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)); } } } 

Añadir permiso en el manifiesto

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
  • ¿Cómo puedo permitir que un usuario explore / elija un archivo para el uso de mi aplicación en Android?
  • ¿Qué tan potentes son los navegadores móviles en comparación con los escritorios?
  • Comunicación punto a punto entre la aplicación móvil y el navegador de PC
  • Navegador genera automáticamente un icono de lanzador en la pantalla de inicio para aplicaciones web android
  • ¿Cómo abro el explorador de archivos? (SDK de Android)
  • Reproducción de audio con HTML5 en el navegador de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.