我正在處理聯繫人備份和同步。聯繫人備份和同步應用程序
目標是將所有聯繫人的所有詳細信息發送到服務器(定義的自定義協議)作爲備份。
在初次啓動應用程序期間,所有聯繫人將排隊併發送到服務器。 此後,後臺服務將一直在運行,這將監聽新的聯繫人添加/聯繫人更新,並且這個新的/更新的聯繫人將通過後臺服務發送到服務器。
我使用RawContactsEntity來獲取記錄。
我嘗試在RawContacts/Data表上使用ContentObserver
來獲取聯繫人添加或聯繫人更改的通知。但是,AFAIK,ContentObserver
通知(onChange()
)整個表中的變更數據,而不是單個記錄的ID。
現在我的問題是,如何獲取更改/新記錄的確切ID?
我想創建一個備份表來比較本地聯繫人表並獲取更改的記錄。但隨着聯繫數量的增加,性能將急劇下降,這也會影響電池續航時間。
你可以建議我,從性能和內存使用的角度來實現這種聯繫人備份操作的最佳方式是什麼? 有沒有其他方式進行聯繫人同步操作?
如果有人能分享可以幫助我的例子,那將會非常有幫助。