Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android開發入門(二十)內容提供者 20.2 ContentProvider的使用范例

Android開發入門(二十)內容提供者 20.2 ContentProvider的使用范例

編輯:Android開發教程

想要理解ContentProvider的最佳方式就是自己動手去嘗試一下。下面介紹如何使用一個內置的Contacts ContentProvider。

1. 創建一個工程,Provider。

2. main.xml中的代碼。

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >  
      
    <ListView
        android:id="@+id/android:list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:stackFromBottom="false"
        android:transcriptMode="normal" />  
      
    <TextView
        android:id="@+id/contactName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold" />  
      
    <TextView
        android:id="@+id/contactID"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />  
      
</LinearLayout>

3. ProviderActivity.java中的代碼。

public class 

ProviderActivity extends ListActivity {  
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
      
        // Uri allContacts = Uri.parse("content://contacts/people");  
        Uri allContacts = ContactsContract.Contacts.CONTENT_URI;  
      
        Cursor c;  
        if (android.os.Build.VERSION.SDK_INT < 11) {  
            // before Honeycomb  
            c = managedQuery(allContacts, null, null, null, null);  
        } else {  
            // Honeycomb and later  
            CursorLoader cursorLoader = new CursorLoader(this, allContacts,  
                    null, null, null, null);  
            c = cursorLoader.loadInBackground();  
        }  
      
        String[] columns = new String[] {  
                ContactsContract.Contacts.DISPLAY_NAME,  
                ContactsContract.Contacts._ID };  
      
        int[] views = new int[] { R.id.contactName, R.id.contactID };  
      
        SimpleCursorAdapter adapter;  
      
        if (android.os.Build.VERSION.SDK_INT < 11) {  
            // before Honeycomb  
            adapter = new SimpleCursorAdapter(this, R.layout.main, c, columns,  
                    views);  
        } else {  
            // Honeycomb and later  
            adapter = new SimpleCursorAdapter(this, R.layout.main, c, columns,  
                    views, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);  
        }  
        this.setListAdapter(adapter);  
      
    }  
      
}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved