在android的联系人db中,我试图获取一组具有相同帐户名的记录。 下面给出了查询的“选择”。
selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '1' AND " + ContactsContract.Contacts._ID + " IN ( SELECT " + RawContacts.CONTACT_ID +" FROM raw_contacts WHERE " + RawContacts.ACCOUNT_NAME + "= '" + selectionCriteria +"' )" ;
Cursor = managedQuery(Contacts.CONTENT_URI, new String[]{ContactsContract.Contacts._ID,Contacts.DISPLAY_NAME}, selection, null, order);
这在android版本2.3中运行良好..但在软糖中,我不能直接使用db name作为“raw_contacts”,因为它已被更改为“value_raw_contacts”。
如何使用正确的sql命令实现此目的,而不直接使用其CONTENT_URI来提取像“raw_contacts”这样的数据库名称。
请帮助。
答案 0 :(得分:0)
static String CONTACTS_TABLE_NAME = "raw_contacts";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN){
ThisClass.CONTACTS_TABLE_NAME = "value_raw_contacts";
}
http://developer.android.com/reference/android/os/Build.VERSION_CODES.html