2011-01-19 5 views
7

Androidの連絡先データベースを拡張することは可能でしょうか?ここからAndroids連絡先データベースを拡張できますか?

からhttp://d.android.com/reference/android/provider/ContactsContract.html

それは言う:

ContactsContractは拡張可能で、私はより多くをで追加できるように私には示唆している連絡先に関連する 情報の拡張可能 データベース

を定義します名前、番号、電子メール、仕事番号、自宅番号などの通常の値の外の連絡先アプリケーションへのデータ。

しかし、このページの例 - http://d.android.com/reference/android/provider/ContactsContract.RawContacts.htmlは、連絡先に新しいフィールドを追加する方法ではなく、名前のような標準値を挿入する方法を示しています。

さらに、ウェブ上での検索では連絡先データの拡張に関する多くの情報が得られません。

私はそれが可能なのか、拡張可能なのは連絡先の他の部分を参照しているのだろうかと思いましたか?

たとえば、私のアプリで特別な権限を持つ連絡先に追加フィールドを追加したいので、ユーザーが自分のアプリを使用できるユーザーを知っている連絡先を見ているときです。

これは可能ですか?

答えて

2

連絡先データベースにカスタムデータを保存することができます。ただし、「Androidの連絡先を使用しているときに挿入したカスタムデータをユーザーが見ることができると思っている場合、ユーザーが自分のアプリを使用できるユーザーを知っている連絡先を見たときには、応用。独自のアプリケーションにカスタムデータを表示する必要があります。

ContactsContract.Dataクラスのjavadocsには、Contacts articleと同様に説明があります。

これを使用するには、RawContactsを照会することで生の連絡先IDを取得する必要があります。ここであなたを助けるかもしれないいくつかのサンプルコードを始める

...

private void makePowerful(int rawContactId) { 
    ContentValues values = new ContentValues(); 
    values.put(Privilege.RAW_CONTACT_ID, rawContactId); 
    values.put(Privilege.MIMETYPE, Privilege.CONTENT_ITEM_TYPE); 
    values.put(Privilege.PRIVILEGE_LEVEL, Privilege.TYPE_POWERFUL); 
    Uri uri = getContentResolver().insert(Data.CONTENT_URI, values); 
} 

public static final class Privilege implements ContactsContract.DataColumnsWithJoins, ContactsContract.CommonDataKinds.CommonColumns { 
    public static final String CONTENT_ITEM_TYPE = ContentResolver.CURSOR_ITEM_BASE_TYPE + "/my_app_privilege"; 
    public static final int TYPE_POWERFUL = 1; 
    public static final int TYPE_WEAK = 2; 
    public static final String PRIVILEGE_LEVEL = DATA1; 

    private Privilege() { } 
} 
+0

コンタクト記事はに行ってきました任意のアイデア?リンクが死んでいます( –

+0

)リンクを更新しました。このリンクは役立ちます:http://developer.android.com/guide/topics/providers/contacts-provider.html – satur9nine

+0

ありがとうございます。連絡先データベースを持っている:http://wiert.me/2012/07/24/small-follow-up-on-android-help-needed-app-that-c​​leans-up-the-contacts-mess-that- the-linkedin-app-left-behind /(580メガの大きさで、アプリがアクティブになっていなくても自動的に成長する) –

関連する問題