Android Tier 검색기 또는 TrueCaller 전화 걸기와 같은 T9 검색을 구현하고 싶습니다. 내가 지금까지 달성 한 것은 : - "ABC", "교류", "캘리포니아를"그래서 Android T9 검색 연락처 (스마트 다이얼러)
에 지금은 제작 -는 것 그것은 나를 준다 내가 전화 걸기에 2를 누르면 같은 문자열 패턴에 키 입력을 변환 검색어
문자열 선택 = Utility.getSelectionLikeWithIn (mmemonics);
Cursor query = getContentResolver(). query (ContactsContracts.Contacts.CONTENT_URI, null, selection, null, null); '
공공 정적 문자열 getSelectionLikeWithIn (목록 mmemonics) {방법 위의
String selection = "";
for (int i = 0; i < mmemonics.size(); i++) {
selection = selection + " display_name LIKE '";
selection = selection + mmemonics.get(i);
if (i == mmemonics.size() - 1){
selection = selection + "%'";
}else {
selection = selection + "%' OR";
}
}
return selection;
}'
는에 문자열의 ArrayList를 변환 where 절
곳 DISPLAY_NAME처럼 '순이 %'OR 등 DISPLAY_NAME 'ABC %'LIKE 및 ......
잘이
저를 제안하는 방법하시기 바랍니다 ..... 인해 복잡한 쿼리 나에게 비효율적 인 결과 및 응용 프로그램 충돌을 제공 내 키 입력처럼 일치하는 쿼리를 수행하거나 ContactsProvider에서 다른 방법으로 스마트 검색을 수행 할 수 있습니까?
감사합니다. 형제 님, 제 하루를 만듭니다. – user3037028