清单元件与动作巡览.pptVIP

  • 2
  • 0
  • 约1.41万字
  • 约 54页
  • 2018-03-08 发布于天津
  • 举报
清单元件与动作巡览

11-3-2 系統內建的內容提供者 – 內容提供者的URI(語法) 在第9-4-1節已經說明過URI,這一節筆者準備針對內容提供者的URI來進一步說明其語法,如下所示: content://內容提供者名稱/資料路徑/記錄編號 11-3-2 系統內建的內容提供者 – 內容提供者的URI(查詢字串範例) 內容提供者的URI查詢字串範例,如下表所示: URI查詢字串 說明 content://contacts/people 所有聯絡人資料的清單 content://browser/bookmarks 瀏覽器的所有書籤清單 content://call_log/calls 所有通話記錄的清單 content://media/internal/images 在內部儲存裝置的圖形檔清單 content://media/external/images 在外部儲存裝置SD卡的圖形檔清單 11-3-2 系統內建的內容提供者 – vider套件的URI類別常數 Android SDK在vider套件提供幫助類別(Helper Classes)的相關URI類別常數來代表上表的URI查詢字串,這是一些預先定義的類別常數,如下所示: ContactsContract.Contacts.CONTENT_URI Browser.BOOKMARKS_URI CallLog.CONTENT_URI MediaStore.Images.Media.INTERNAL_CONTENT_URI MediaStore.Images.Media.EXTERNAL_CONTENT_URI 11-4 使用系統的內容提供者 – 說明 我們自行建立內容提供者分享資料的機會並不多,因為建立Android應用程式最多只會在各活動之間分享資料,事實上,我們反而比較有可能因為程式所需使用系統內建的內容提供者,例如:在Android應用程式取得聯絡人資料。 11-4 使用系統的內容提供者 – 建立Uri物件 本節範例的MainActivity類別是繼承ListActivity類別建立ListView元件,資料來源是內容提供者。首先建立Uri物件,如下所示: Uri contacts = Uri.parse(content://contacts/people); 上述Uri.paser()類別方法的參數是URI查詢字串,我們也可以直接使用URI類別常數,相當於是下列程式碼,如下所示: Uri contacts = ContactsContract.Contacts.CONTENT_URI; 11-4 使用系統的內容提供者 – 取得內容提供者的聯絡人資料 然後使用Activity類別方法取得聯絡人資料的Cursor物件,如下所示: Cursor c = getContentResolver().query(contacts, null, null, null, null); 上述程式碼呼叫getContentResolver()方法取得ContentResolver物件,幫助我們解析Uri找到正確的內容提供者後,呼叫ContentResolver物件的query()方法執行查詢。 11-4 使用系統的內容提供者 – 建立欄位和介面元件的參數陣列 SimpleCursorAdapter結合器物件會對應記錄欄位至指定的介面元件,我們需要建立欄位和介面元件的參數陣列,如下所示: String[] columns = new String[] { ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts._ID, }; int[] views = new int[] { R.id.contactName, R.id.contactID, }; 11-4 使用系統的內容提供者 – 建立SimpleCursorAdapter物件 然後建立SimpleCursorAdapter結合器物件,如下所示: SimpleCursorAdapter adapter = new SimpleCursorAdapter( this, R.layout.list_item, c, columns, views, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); setListAdapter(adapter); 上述建構子的第1個參數是Context物件,第2個是項目list_item.xml版面配置檔的資源索引,第3個是Cursor物件,之後2個是欄位對應顯示的介面元件,最後1個參數指定結合器的行為。 11-4 使用系統的內容提供者 – 傳回使用者

文档评论(0)

1亿VIP精品文档

相关文档