es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Actividad de galería desde un directorio específico.

Estoy trabajando en una actividad de galería para Android en la que todas las imágenes provienen de un directorio específico para esa aplicación. Me gustaría que todas las imágenes del directorio se carguen de manera similar a esta.

public Integer[] mThumbIds = {
R.drawable.ic_launcher_background, R.drawable.ic_launcher_foreground
};

Las imágenes se guardan en un directorio interno y me gustaría mostrarlas como una galería. ¿Cómo las puedo incluir en la estructura de datos de arriba si se encuentran aquí?

File directory = new File("/data/data/com.boredgiant.chora/files"); //la ruta es la cadena que especifica la ruta del directorio.
File[] files = directory.listFiles();

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para cargar todas las imágenes en el directorio anterior en la estructura de datos, puedes hacer lo siguiente:

    1. Crear un ArrayList de objetos Integer:
    ArrayList<integer> thumbIds = new ArrayList<integer>();
    
    1. Iterar a través de los archivos en el directorio y agregar cada archivo al ArrayList como un objeto Bitmap:
    for (File file : files) {
       Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
       if (bitmap != null) {
          thumbIds.add(bitmap);
       }
    }
    
    1. Convertir el ArrayList en un array de objetos Integer:
    Integer[] mThumbIds = thumbIds.toArray(new Integer[thumbIds.size()]);
    
    1. Usa el array mThumbIds para mostrar las imágenes en la galería.

    Nota: También deberás manejar cualquier necesidad de redimensionar o recortar las imágenes para que se ajusten a la pantalla de la galería.

Comments are closed.