アンドロイドネイティブダイヤラやTrueCallerダイヤラのようなT9検索を実装したいと思います。私は今までに達成したことである: - 「CA」「ABC」「交流」などAndroid T9検索連絡先(スマートダイヤラ)
に今、私が作った - 私はダイヤラに2を押すと、それは希望を私に与えますよう
は、文字列パターンにキーストロークを変換しますクエリ
文字列選択=ユーティリティ.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;
}'
where句
ここDISPLAY_NAME同様 'ABの%' OR DISPLAY_NAME LIKE 'ABCの%' 等に文字列のArrayListの変換......
だけでなく、これは.....による複雑なクエリに私に
を非効率的な結果とアプリのクラッシュを与えるどのように私を提案してください。このようなスマート検索を実行するために、私のキーストロークやその他の方法でContactProviderのように照合することはできますか?
ありがとう、私の一日を作る – user3037028