Android Creare una Galleria di Immagini dalla Cartella App
-
11-12-2019 - |
Domanda
Sto lavorando su un'app e una delle mie attività è una schermata che afferra tutte le immagini in una cartella che ho fatto in /data/ cartella dell'applicazione.Vorrei per afferrare tutte le foto mettile in un formato griglia, e poi quando una persona fa clic su uno di esso soffia fino a piena dimensione.Naturalmente questa galleria ha bisogno di cambiare quando le nuove immagini vengono aggiunti alla cartella.
Sembra che sarebbe un po ' una cosa semplice da fare, ma sto avendo alcuni problemi di implementazione di questo continuo a trovare un sacco di soluzioni diverse non sembrano abbastanza di destra.
Sto dando per scontato che sarebbe una sorta di gridview/listadapter combinazione.
Quale sarebbe la soluzione migliore a questo problema?
MODIFICA
Ho guardato in queste soluzioni http://www.androidhive.info/2012/02/android-gridview-layout-tutorial/ http://developer.android.com/guide/topics/ui/layout/gridview.html#example
ma la mia confusione è un codice come questo
private Integer[] mThumbIds = {
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7
};
Cosa devo fare con questo, dato che la quantità di immagini che saranno costantemente cambiando nella mia cartella app.E come faccio a caricare le immagini al di fuori della cartella in primo luogo haha
Soluzione
Hai visto il Caching Bitmap in Android Sviluppatori del sito?Io credo che sia qualcosa di simile a ciò che si desidera.Esso fornisce anche il codice di esempio.
È meglio memorizzare le immagini in un percorso all'interno della scheda sd, in quanto hanno bisogno di cambiare in modo dinamico.Quindi per ottenere i percorsi delle immagini da quel percorso, usare qualcosa come questo (asssuming che hai solo le immagini in quella cartella):
File imagesDir = new File(Environment.getExternalStorageDirectory(), "yourpath");
for (File f : yourDir.listFiles()) {
if (f.isFile())
String image_path = f.getPath();
// make something with the name
}
Inoltre, per caricare una bitmap da un file nella sd, utilizzare qualcosa di simile a questo:
Bitmap b = BitmapFactory.decodeFile("your_image_path");
Basta tenere a mente per caricare un ridimensionato versione della bitmap per l'efficienza della memoria.Vedere qui per ulteriori informazioni.
Speranza che aiuta.