Modify MainActivity.java extends ListActivity.
package com.example.androidlistimages;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.content.CursorLoader;
import android.support.v4.widget.CursorAdapter;
import android.support.v4.widget.SimpleCursorAdapter;
import android.widget.ListAdapter;
import android.app.ListActivity;
import android.database.Cursor;
public class MainActivity extends ListActivity {
//define source of MediaStore.Images.Media, internal or external storage
Uri sourceUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
//Uri sourceUri = MediaStore.Images.Media.INTERNAL_CONTENT_URI;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
String[] from = {MediaStore.MediaColumns.TITLE};
int[] to = {android.R.id.text1};
CursorLoader cursorLoader = new CursorLoader(
this,
sourceUri,
null,
null,
null,
MediaStore.Audio.Media.TITLE);
Cursor cursor = cursorLoader.loadInBackground();
ListAdapter adapter = new SimpleCursorAdapter(
this,
android.R.layout.simple_list_item_1,
cursor,
from,
to,
CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);
setListAdapter(adapter);
}
}
Download the files.
Remark:
Compare with my old exercise, "List audio media in MediaStore.Audio.Media" and "Start activity to play MediaStore.Video.Media by intent with action of Intent.ACTION_VIEW", both managedQuery(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) and SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) are deprecated. See how we use CursorLoader here.
Next:
- Get path of image in MediaStore.Images.Media from SimpleCursorAdapter
- List images in MediaStore.Images.Media, with multiple selection.
Compare with:
- Query Contacts database, display in ListView.
More:
- Insert the bitmap to MediaStore with title and List images title in MediaStore
No comments:
Post a Comment