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

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

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

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

     

 

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

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

 

 

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

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

Permission ’Add’,UserPermissionhtm

android.permission.READ_CONTACTSblog

 

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

  <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

相關文章
相關標籤/搜索