正文

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

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


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

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

Media.DISPLAY_NAME };

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

null);

我們將需要知道從Cursor對(duì)象獲取數(shù)據(jù)的每個(gè)列的索引。在此示例中,從Media.DATA切換到MediaStore.Images.Media.DATA。這僅僅是為了說(shuō)明它們是相同的。Media.DATA僅僅是可以使用的簡(jiǎn)寫(xiě)形式,因?yàn)橛幸粭l包含它的import語(yǔ)句: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);

運(yùn)行查詢并獲得一個(gè)結(jié)果Cursor對(duì)象之后,調(diào)用該對(duì)象上的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指定一個(gè)新的onClickListener,其調(diào)用Cursor對(duì)象上的moveToNext方法。它將遍歷結(jié)果集,獲取并顯示返回的每幅圖像。

imageButton.setOnClickListener( 

new OnClickListener() {

public void onClick(View v) {

if (cursor.moveToNext()) 


上一章目錄下一章

Copyright ? 讀書(shū)網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)