2017-07-27 6 views
0

sql lite dbに連絡先を保存します。問題は私が作成された新しい連絡先を識別することができませんでした。新しい連絡先をローカルdblに保存した後にSource_ID値を変更するにはどうすればよいですか?

このための解決策 私はこの新しく追加された連絡先を識別するためにsource_idを使用しています。今度は、新しく作成された連絡先のsource_idがnullです。これを識別できます。 問題:しかし、この値をsql liteに追加すると、この値を変更できますか?

+0

ネイティブ連絡先またはアプリのSQLiteデータベースに追加していますか? –

+0

この連絡先を識別するために電話で新しい連絡先が作成されます。私は生の連絡先テーブルのsource_idを使用しています。連絡先が追加されたときのデフォルトはnullです。問題は、ソースIDがまだnullの特定の新しい連絡先を保存した後です。このソースIDはどのように変更されますか? – Husnain

答えて

0

source_idの値には触れないでください。この値は電話機に同期された同期アダプターによって使用され、連絡先DBを変更して破損している可能性があります。

代わりに、あなたはContacts.CONTACT_LAST_UPDATED_TIMESTAMPを使用することができます。

  1. あなたはそれはあなたが最後にあなたのローカルのSQLiteを更新してから、彼らはいずれかの作成または更新された意味(あなたのアプリケーションが実行された最後の時間、その後CONTACT_LAST_UPDATED_TIMESTAMPが大きい持っているすべての連絡先を照会しますDB)
  2. リストを1つ1つ上に移動し、その連絡先_IDが既にDBに入っているかどうかを確認してください。そうでない場合は、新しい連絡先です - 追加してください。
+0

ありがとうございました。 – Husnain

関連する問題