我想實現T9搜索,如android原生撥號程序或TrueCaller撥號程序。我已經實現至今是: -Android T9搜索聯繫人(智能撥號器)
轉換擊鍵串模式一樣,如果我按2撥號它會帶給我 - 「ABC」,「交流」,「CA」等
現在,我做了一個查詢
String selection = Utility.getSelectionLikeWithIn(mmemonics);
Cursor query = getContentResolver()。query(ContactsContract.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像 'AB%' OR DISPLAY_NAME LIKE 'ABC%' 等......
以及這給我的低效結果和應用程序崩潰是由於複雜的查詢.....
請建議我如何我可以執行查詢來匹配像我的按鍵或os他們的任何其他方式在ContactsProvider執行此類智能搜索
非常感謝兄弟,你讓我的一天 – user3037028