ContentProviders . ContentProviders, "%" , "%" WHERE, .
:
Cursor cursor = getContentResolver().query(
ContactsContract.Data.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.NUMBER+" LIKE ?",
new String[] { "%"+number },
null);
:
Cursor cursor = getContentResolver().query(
ContactsContract.Data.CONTENT_URI,
null,
ContactsContract.CommonDataKinds.Phone.NUMBER+" LIKE %?",
new String[] { number },
null);
"" SQLite, ContentProvider.
, WHERE ContentProvider ( ).
:
if(number.length()==7) {
cursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.NUMBER+" LIKE ?",
//"('%" + ContactsContract.CommonDataKinds.Phone.NUMBER+"' LIKE '?' AND LENGTH("+ContactsContract.CommonDataKinds.Phone.NUMBER+")=7) OR ('" + ContactsContract.CommonDataKinds.Phone.NUMBER+"' LIKE '%?' AND LENGTH("+ContactsContract.CommonDataKinds.Phone.NUMBER+")=10)",
new String[] { "%"+number },
null);
} else if(number.length()==10) {
cursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null,
"("+ContactsContract.CommonDataKinds.Phone.NUMBER+"=? AND LENGTH("+ContactsContract.CommonDataKinds.Phone.NUMBER+")=7) OR ("+ContactsContract.CommonDataKinds.Phone.NUMBER+"=? AND LENGTH("+ContactsContract.CommonDataKinds.Phone.NUMBER+")=10)",
new String[] { number.substring(3), number },
null);
} else {
cursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.NUMBER+"=?",
new String[] { number },
null);
}
, .
- 7- , , 7 ( , "*" "#", ) 7 .
- 10- , , 7 7 , , 10 .
- , , 7, 10 , .