使用系統定義的Content Provider – Android移動開發技術文章_手機開發 Android移動開發教學課程

之前我們介紹瞭關於Content Provider 的內容。這裡我們在分兩節來介紹,使用系統定義的Content Provider和自定義的Content Provider。

    這裡我們來介紹使用系統定義的Content Provider:通過ContentResolver來讀取系統的聯系人信息。

   第一步: 新建一個工程命名為readPeople,因為我們以列表的形式來顯示,所以這個類繼承自ListAvtivity而不是Activity;

   第二步:修改java源碼,代碼如下:

view plaincopy to clipboardprint?/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    //setContentView(R.layout.main);  
    //獲得遊標對象  
    Cursor c = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); 
    this.startManagingCursor(c); 
     
    //實例化列表適配器  
stAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, c, new String[] {Contacts.DISPLAY_NAME}, new int[] {android.R.id.text1}); 
    this.setListAdapter(adapter); 

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.main);
        //獲得遊標對象
        Cursor c = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
        this.startManagingCursor(c);
       
        //實例化列表適配器
  ListAdapter adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, c, new String[] {Contacts.DISPLAY_NAME}, new int[] {android.R.id.text1});
        this.setListAdapter(adapter);
    }view plaincopy to clipboardprint?第三步:在AndroidManifestxml文件中添加如下內容:<uses-permission android:name="android.permission.READ_CONTACTS"/> 
  第三步:在AndroidManifestxml文件中添加如下內容:<uses-permission android:name="android.permission.READ_CONTACTS"/>   第四步:運行程序可看到如下內容:

摘自 chenlong12580的專欄

發佈留言