正文

圖像存儲和元數(shù)據(jù)(13)

Android多媒體開發(fā)高級編程 作者:(美)艾佛瑞


以下代碼指定想要返回的列,它必須是字符串數(shù)組的形式。在下面的代碼中將這個數(shù)組傳遞給managedQuery方法。

String[] columns = { Media.DATA, Media._ID, Media.TITLE, 

Media.DISPLAY_NAME };

cursor = managedQuery(Media.EXTERNAL_CONTENT_URI, columns, null, null, 

null);

我們將需要知道從Cursor對象獲取數(shù)據(jù)的每個列的索引。在此示例中,從Media.DATA切換到MediaStore.Images.Media.DATA。這僅僅是為了說明它們是相同的。Media.DATA僅僅是可以使用的簡寫形式,因為有一條包含它的import語句:android.provider.MediaStore. Images.Media。

fileColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

titleColumn = cursor.getColumnIndexOrThrow(MediaStore.Images.

Media.TITLE);

displayColumn= cursor.getColumnIndexOrThrow(MediaStore.Images.Media.

DISPLAY_NAME);

運行查詢并獲得一個結(jié)果Cursor對象之后,調(diào)用該對象上的moveToFirst方法,以確保它包含結(jié)果。

if (cursor.moveToFirst()) {

//titleTextView.setText(cursor.getString(titleColumn));

titleTextView.setText(cursor.getString(displayColumn));

imageFilePath = cursor.getString(fileColumn);

bmp = getBitmap(imageFilePath);

// 顯示圖像

imageButton.setImageBitmap(bmp);

}

然后,為imageButton指定一個新的onClickListener,其調(diào)用Cursor對象上的moveToNext方法。它將遍歷結(jié)果集,獲取并顯示返回的每幅圖像。

imageButton.setOnClickListener( 

new OnClickListener() {

public void onClick(View v) {

if (cursor.moveToNext()) 


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號