Я планирую создать cursorjoiner для моего приложения. Я хотел бы присоединиться к отображаемому имени и идентификатору электронной почты с помощью курсора. Я пытаюсь на Android 1.6.
Когда я запрашиваю список идентификаторов электронной почты, я получаю исключение:
03-30 13:08:15.609: ERROR/AndroidRuntime(302): Caused by: java.lang.IllegalArgumentException: Invalid column person
Мой код как ниже
String[] projection1 = new String[] {
People._ID,
People.DISPLAY_NAME
} ;
String[] projection2 = new String[] {
Contacts.ContactMethods.PERSON_ID,
Contacts.ContactMethods.DATA
} ;
Cursor cur = cr.query(People.CONTENT_URI, projection1, null, null, null);
Cursor emailCur = cr.query( Contacts.ContactMethods.CONTENT_EMAIL_URI,
projection2,
null, null, null);
Я проверил документы, в которых указано, что PERSON_ID
является действительной записью.
Кроме того, если я использую тот же столбец в качестве параметра внутри запроса, это работает.
emailCur = cr.query( Contacts.ContactMethods.CONTENT_EMAIL_URI,
projection2,
Contacts.ContactMethods.PERSON_ID + " = ?",
new String[]{id}, null);
Может ли кто-нибудь сказать, какой параметр мне следует использовать в проекции для достижения этой цели.