2011-04-22 5 views
1

전화의 연락처 목록에서 임의의 연락처를 얻으려고하지만 전화가 눈에 띄게 느려지지는 않습니다. 즉, 나는 모든 연락처를 잡고 배열에 집어 넣을 수없고 그 배열에서 임의의 배열을 선택할 수 없다는 것을 의미합니다. 모든 연락처를 먼저 얻지 않고 임의의 연락처를 얻을 수 있기를 바랍니다. 가능합니까? 그렇다면 어떻게해야할까요?안드로이드 무작위로 연락하십시오 연락처

답변

3

비 사용되지 않는 코드를 사용하도록 업데이트되었습니다. 이 답변에 따라 쿼리 : How to read contacts on Android 2.0

Cursor managedCursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); 

는 그런 다음 커서의 크기를 점점 단지 문제 :

int size = managedCursor.getCount(); 

는, 임의의 하나를 얻을 그것을 읽고 전화 번호가 있는지 확인합니다. 그렇지 않다면 다른 것을 선택하십시오.

그렇지 않으면 임의로 선택할 수있는 방법이 없습니다. 그리고 이것은 정말 큰 연락처 목록이 아니면 전화를 늦추지 않습니다.

이제 전화 번호가 있는지 확인하고 발견되면 모든 전화 번호를 읽습니다. 그렇지 않은 경우 다른 항목을 선택합니다.

+0

아마 작동하지만 Contact.People은 가치가 떨어지고 감가 상각 된 코드를 사용하지 않을 것입니다. – Elec0

+0

@ Elec0 매우 사실입니다. 업데이트 된 응답을 참조하십시오. 주요 부분 (실제로 모든 내용을 읽지 않고 임의의 연락처를 선택하는 것)은 여전히 ​​유효합니다. – Aleadam

+0

정말 사실입니다. 고마워요. :) – Elec0

관련 문제