2010-05-28 1 views
0

초기 연구를 기반으로하고 싶은 일을 수행 할 수 없다는 것이 확실하지만 확신 할 수 없습니다. 누군가가 방법을 알고있는 경우에 대비하여 여기에 전문가의 커뮤니티에 물어보십시오.값 목록 및 연락처 조회 성능이 설정된 사용자 지정 연락처 필드의 가능성

사용자가 기본 주소록 앱에서 수정할 수있는 연락처의 맞춤 입력란을 만들고 싶습니다. 그러나 사용자는 네 가지 특정 값 목록에서 선택 만 허용해야합니다. 문자열 값의 짧은 목록이 이상적 일 수 있지만 최소/최대 범위가있는 int이면 충분합니다.

어느 쪽이든 가능하다는 것을 알고 싶지만이 경로 성능을 현명하게 평가하는 것이 궁금합니다. 더 구체적으로, 전화 또는 SMS 메시지를받을 때마다 (전화 번호를 기반로) 연락처를 조회하거나 내 이름, 번호 및 사용자 정의 필드로 구성된 내 자신의 데이터 세트를 저장하는 것이 더 낫습니다. 그냥 자주 연락 정보를 매회마다 동기화하고 있습니까? 또는 앱을 처음 실행할 때 연락처를 동기화 한 다음 ContentObserver을 사용하여 변경 사항을 등록 하시겠습니까?

여기에 answer that explains how to add a custom field to a contact과 유사한 질문이 있습니다.

미리 감사드립니다.

답변

1

분명히 동기화 문제가 발생하므로 데이터베이스에 저장된 연락처 에 대한 데이터 집합을 갖고 있지 않습니다. mimetype을 사용하여 연락처에 대해 원하는 방식으로 연결된 방식으로 저장할 수 있습니다.

연락처를 잊어 버릴 때마다 사용자 지정 mimetype을 사용하여 할 수 있습니다. 연락처 ID (ContactsContract.Data.CONTENT_URI)를 얻은 다음 다른 쿼리를 실행하여 연락처 세부 정보를 얻습니다 (ContactsContract.Contacts.CONTENT_URI). 이들은 서로 다른 테이블입니다.

내가 볼 수없는 나는 사용자가 주요 연락처 응용 프로그램에서 편집 할 수있는 연락처에 대한 사용자 정의 필드를 생성하고자하는 주요 응용 프로그램에서 편집 가능 , 당신이 당신의 custom mimetypes를 사용할 때, 당신은 여기에 많은 옵션을 가지고 있지 않습니다. 기본 연락처 응용 프로그램은 SDK에있는 필드 만 표시합니다. 연락처에 대한 세부 정보는 저장할 수 있지만 내장 된 편집 연락처 화면에는 나타나지 않습니다.