Ich verwende die Klasse android.content.CursorLoader
, um zwei Cursor
Objekte für den Zugriff auf Medien zu erstellen, die auf dem Gerät meiner App gespeichert sind. Ich möchte dem Nutzer eine Rasteransicht seiner gespeicherten Bilder und Videos geben, die die Reihenfolge in der Android-Galerie-App erhalten.Zugriff auf geordnete Bilder und Videos in demselben Cursor
Momentan verwende ich einen Cursor
, um auf Bilder zuzugreifen und einen, um auf Video zuzugreifen. Bei diesem Ansatz gehen alle Bilder allen Videos voraus (d.h. sie sind in zwei getrennten Gruppen). Gibt es eine Möglichkeit, auf Bilder und Videos von demselben Cursor
zuzugreifen? Wenn nicht, gibt es eine bessere Möglichkeit, auf diese Medien auf dem Gerät zuzugreifen?
Als Referenz hier ist der Code Ich verwende:
Für Bilder:
CursorLoader cursorLoader = new CursorLoader(
mContext,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
IMAGE_PROJECTION,
null,
null,
MediaStore.Images.Media._ID + " desc"
);
mImageCursor = cursorLoader.loadInBackground();
und Video:
CursorLoader cursorLoader = new CursorLoader(
mContext,
MediaStore.Video.Media.EXTERNAL_CONTENT_URI,
VIDEO_PROJECTION,
null,
null,
MediaStore.Video.Media._ID + " desc"
);
mVideoCursor = cursorLoader.loadInBackground();
Dank für Ihre endgültige Code-Sharing; Das war sehr hilfreich für mich! – scientiffic
Es gibt ein Problem, Sie greifen auf das Hauptbild/die Daten zu .. nicht auf die Miniaturansichten. Das Abfragen von MediaStore.Images.Thumbnails für jedes Cursor-Element ist zu schwer. Irgendwelche Ideen? – Umair
Wie kann ich ein Wiedergabesymbol in Videos anzeigen? –