2012-02-06 2 views
1

연락처 선택 도구를 사용하여 연락처에 대한 세부 정보를 저장하는 앱이 있습니다. 누군가가 모든 후 새로운 ROM을 깜박하거나 새 휴대 전화를 얻을 때까지이 작업을 사용하면 괜찮 것을 내가 찾은연락처 ID를 android에 저장하는 올바른 방법은 무엇입니까

cursor.getColumnIndex(ContactsContract.Contacts._ID) 

: 나는 접촉 선택기에서 반환 한 때 나는 연락처를 얻기 위해 다음을 사용하고 있었다 신분증이 바뀌 었습니다.

안드로이드 문서를 살펴본 결과 ContactsContract.Contacts.LOOKUP_KEY를 사용하는 것에 대한 참조를 보았습니다. 그러나 설명에서 혼란 스럽습니다. "행 ID가 다음과 같이 변경되면 연락처를 찾는 방법에 대한 힌트가 포함 된 불투명 한 값입니다. 동기화 또는 집계 결과. "

그럼 연락처 ID를 저장하려면 어떻게해야합니까?

+0

아마도 앱용 로컬 데이터베이스일까요? 깜박이기 전에 백업하십시오. –

+0

[LOOKUP_KEY]를 저장하고 [백업 에이전트] (http://developer.android.com/guide/topics/data/backup.html)를 읽는 것을 기억하고 & 구현하십시오 - 실제로 서버를 유지 보수하고 싶지 않으면 영원히 백업을 위해. – Jens

답변

1

조회 키가 연락처에 대한 올바른 참조입니다.

Contacts Provider/Contacts:

ContactsContract.Contacts 테이블은 접촉 행에 "고정"링크 인 열 LOOKUP_KEY 있다. 연락처 공급자가 자동으로 연락처를 유지하기 때문에 집계 또는 동기화에 대한 응답으로 행의 _ID 값이 변경 될 수 있습니다. 이 이 발생하는 경우 콘텐트의 CONTENT_LOOKUP_URI와 연락처의 LOOKUP_KEY가 연결 행을 계속 가리 키므로 LOOKUP_KEY를 사용하여 "즐겨 찾기"연락처에 대한 링크를 유지하는 등의 작업을 수행 할 수 있습니다. 이 열의 형식은 _ID 열의 형식과 관련이 없습니다.

관련 문제