在Android模拟器中,可以通过使用MediaStore来访问照片文件。以下是一个简单的示例,演示如何从MediaStore中检索所有相册并显示它们的照片。
// Define a projection that specifies the columns from the table we care about.
String[] projection = {
MediaStore.Images.Media._ID,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
MediaStore.Images.Media.DATE_TAKEN,
MediaStore.Images.Media.DATA
};
// Get the base URI for the People table in the Contacts content provider.
Uri images = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
// Make the query.
Cursor cur = getContentResolver().query(images,
projection, // Which columns to return
null, // Which rows to return (all rows)
null, // Selection arguments (none)
null // Ordering
);
if (cur.moveToFirst()) {
String bucketName;
String dateTaken;
String path;
int bucketColumn = cur.getColumnIndex(
MediaStore.Images.Media.BUCKET_DISPLAY_NAME);
int dateColumn = cur.getColumnIndex(
MediaStore.Images.Media.DATE_TAKEN);
int dataColumn = cur.getColumnIndex(
MediaStore.Images.Media.DATA);
do {
// Get the field values
bucketName = cur.getString(bucketColumn);
dateTaken = cur.getString(dateColumn);
path = cur.getString(dataColumn);
// Do something with the values.
Log.v(TAG, "Bucket Name: " + bucketName +
" Date Taken: " + dateTaken +
" Path: " + path);
} while (cur.moveToNext());
}