2010-11-29 175 views
0

我對保持對啓動android 2.0的聯繫人的強大引用的最佳方式有意見。我已經閱讀了很多關於這個問題,但我不知道哪種技術是可取的,如果有新的。以下是我發現的3個選項:CONTACT_ID - 保持同步

1-不要使用自己的數據庫。擴展contacts.contract來編寫您的數據

2 - 使用ContentObserver跟蹤對聯繫人所做的任何更改。然而,這種技術需要你的應用程序能夠運行

3-存放在你的數據庫相關的所有CONTACT_ID RAW聯絡人ID,並推斷其所有組成RAW接觸

在我的情況下,集合接觸的內容我需要保持一個獨立的數據庫,我想知道是否有保持聚合和DIS-聚合後的CONTACT_ID電流的任何其他新技術...

請告知

+0

我完全明白你的確切要求,尤其是第三點。爲什麼需要將所有RAW聯繫人ID存儲在應用程序數據庫中,因爲它們可以在任何情況下從RAW_CONTACTS中提取? – 2010-11-30 06:28:37

回答

0

我用新的聯繫人API在玩的一會兒,寫一個應用程序,這也是聯繫人數據的來源。我根本不推薦#3。要獲取所有「我的」聯繫人數據,我只需將它們存儲在RawContacts.SYNC1字段中,並在我的應用程序啓動時查詢聯繫人內容提供商。

Re。你的問題,不要使用CONTACT_IDs,因爲它們是不穩定的。使用查找API,即如果您有原始聯繫人ID,請使用RawContacts.getContactLookupUri()訪問聯繫人。同樣,如果某些API爲您提供聯繫人ID,請使用Contacts.getLookupUri()獲取您稍後可以使用的持久標識符。

+0

嗨,魯本。我的問題是,我沒有實施同步適配器。我只是存儲一些聯繫人在我的SQL數據庫,我需要一個強大的參考這些聯繫人。我的理解既lookup_key和contact_id更改,我不能使用任何匹配的聯繫人。 – Mak 2010-11-30 12:08:01