- 介紹Content Provider
- Content Provider之例子
在Android中每個應用程式會用到的資料通常都是獨立的。也可以說是每個應用程式都在各自的空間執行著,彼此不會影響。但是當我們需要用到其他應用程式的資料時該怎麼辦呢?例如:一個聊天的應用程式,要取得通訊錄裡的朋友清單。而Android 提供了 Content Provider這個機制,來解決應用程式間,彼此要分享資料的需求。
若是還不太了解Content Provider可以閱讀以下幾篇文章:
- Android Developer: http://developer.android.com/guide/topics/providers/content-providers.html
- 如何使用Content Provider: http://ysl-paradise.blogspot.com/2008/11/content-provider.html
環境:Android2.2
假設今天我們的應用程式要取得通訊錄的資料該怎麼辦呢?
- 從Cursor取出資料:
以下例子為取得姓名攔位。
//PhoneLookup.DISPLAY_NAME取得此欄位索引值
int index = cur.getColumnIndex(PhoneLookup.DISPLAY_NAME);
//取得Value
//取得Value
String contact = cur.getString(index)
//顯示出value
//顯示出value
Toast.makeText(this, contact,Toast.LENGTH_LONG).show();
import android.provider.Contacts;
import android.provider.Contacts.People;
- P.S. 1
import android.provider.
import android.provider.
在android2.X會出現警告的字句,因為在android 2.X SDK當中不建議使用,請改用
import android.provider.ContactsContract;
import android.provider.ContactsContract.PhoneLookup;- P.S. 2
requires android.permission.READ_CONTACTS
代表AndroidManifest.xml沒有設定權限。請在xml檔中加入下段程式設定權限:
沒有留言:
張貼留言