10天學通Android開發(3-2)-組件ContentProvider

1ContentProvider簡介
      
該類用於提供數據和存儲數據的方法,就可以向其他應用共享其數據。雖然使用其他方法也可以對外共享數據,但數據訪問方式會因數據存儲的方式而不同,如:採用文件方式對外共享數據,需要進行文件操作讀寫數據;採用sharedpreferences共享數據,需要使用sharedpreferences API讀寫數據。而使用ContentProvider共享數據的好處是統一了數據訪問方式。

2每個ContentProvider都有一個公共的URI,這個URI用於表示這個ContentProvider所提供的數據。Android所提供的ContentProvider都存放在android.provider包當中,Uri,如:

      Uri uri = Uri.parse("content://com.changcheng.provider.contactprovider/contact")

     

 

3ContentProvider提供的方法
query
:查詢
insert
:插入
update
:更新
delete
:刪除
getType
:得到數據類型
onCreate
:創建數據時調用的回調函數

Content Provider中使用的查詢字符串有別於標準的SQL查詢

 

 

案例:讀取聯繫人數據爲例

  1. 新建一項目,先在AndroidManifest.xml中設置可讀取聯繫人的權限:

Permission ’Add’,UserPermission

android.permission.READ_CONTACTS

 

實際上AndroidManifest.xml添加了一行:

  <uses-permissionandroid:name="android.permission.READ_CONTACTS"/>

2) 讀取聯繫人姓名

protectedvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

     Cursor c=getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

       while(c.moveToNext()){        System.out.println(">>>>>>>>>"+c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));

          

       }

 

 

參考:

http://www.cnblogs.com/devinzhang/archive/2012/01/20/2327863.html

http://xiechengfa.iteye.com/blog/1415829


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章