較深入的分析Content Providers用法

2021-08-24 19:07:37 字數 2106 閱讀 7492

之前的教程(android平台上四種儲存資料的方法

)中有討論過android平台上四種儲存資料的方法以及需要著重注意的特性。android嚴格控制了資料的安全使用規範,為此建立在各種儲存模組中的資料依然是私有於其相對應的程式。有簡單提及應用content providerscontent provider是專門用於資料儲存的類,是android平台處理訪問資料操作的核心。針對不同的應用模組都有各自的content provider總類,下邊是使用者經常接觸到的幾個典型content provider應用:

呼叫content provider資源的標準uri結構:

:////
例如:

1) 取得瀏覽器所有「書籤」資訊: content://browser/bookmarks

2) 取得系統通訊錄中的資訊: content://contacts/people (如果取得某乙個特定通訊記錄,在路徑uri的末端指定乙個id號:content://contacts/people/5

通過乙個例子來具體的了解如何應用content provider調取資源:

步驟一,

應用eclipse作為開發ide建立乙個新的專案,根據自己的愛好來隨意命名專案,例如這個例子的名字叫:「hello_cp_example」,

步驟二,

在檔案androidmanifest中新增 「read_contacts」 permission標籤: ?

[copy to clipboard]

view code xml

android:name="android.permission.read_contacts"

>

>

步驟三,

完成主程式源** :

01.publicclasshellocpextendsactivity

22.log.v("androidres cp",

23.c.getstring(c.getcolumnindex(calls._id)) +", "+

24.c.getstring(c.getcolumnindex(calls.number)) +", "+

25.calltype) ;

26.}while(c.movetonext());

27.}

28.}

29.}

步驟四,

執行程式後,通過eclipse中的ddms可以看到當前的記錄輸出資訊:

04-16 17:49:18.399: verbose/androidres cp(222): 1, 1362×××0277, incoming

04-16 17:49:18.399: verbose/androidres cp(222): 2, 1362×××0277, outgoing

利用alias簡化進入較深的路徑

有時候我們需要頻繁的進入比較深的目錄,每次都cd 對應的路徑到達的話,就很麻煩。為了簡化這一過程我們可以借助alias這一命令。話不多說,直接進入主題。vim bashrc進入bashrc檔案。在該檔案中新增alias mycd cd home 儲存並退出檔案,在終端輸入source bashrc重...

深入BUG分析

一 認識bug 軟體bug是由於軟體開發者的疏忽和失誤造成的。軟體bug是軟體生命週期內發現和未被發現的所有問題總和。全面質量管理和全程軟體測試 軟體bug不單指軟體測試階段發現的軟體系統的功能性錯誤,還應包括軟體開發過程中需求 設計 開發等階段評審過程發現的問題,以及軟體發布後客戶發現並反饋的問題...

深入篇 decltype深入分析

int fun int main void double tempa 3.0 const double ctempa 5.0 const double ctempb 6.0 const double const cptrtempa ctempa 1.dcltempa推斷為const double 保...