Я разрабатываю приложение IM на Android. Цель состоит в том, чтобы обеспечить совместимость нескольких учетных записей и протоколов. Я ищу способ получить лучший статус контакта на Android. У меня есть список поддерживаемых типов аккаунтов. У меня есть функция, которая занимает длинный (contact_id
) и должна вернуть лучший Account
+ лучший способ связи (например, [email protected]
).Управление контактами с Android
Я уже посмотрел документацию, и я уже знаю SQL. Но документация немного беспорядочна в этом вопросе, и я не знаю, как получить лучший способ отправить сообщение контакту. Вот код, что я пытаюсь сделать:
public static Account best(Context context, long contact)
{
final ContentResolver resolver = context.getContentResolver();
final Cursor rawContacts = resolver.query(RawContacts.CONTENT_URI,
new String[]{RawContacts._ID},
RawContacts.CONTACT_ID + "=? AND " + registeredProtocolsSelection(),
new String[]{String.valueOf(contact)}, null);
while(rawContacts.moveToNext())
{
final long rawContactId = rawContacts.getLong(0);
Uri rawContactUri = ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId);
Uri entityUri = Uri.withAppendedPath(rawContactUri, Entity.CONTENT_DIRECTORY);
Cursor rawContact = resolver.query(entityUri,
new String[]{RawContacts.SOURCE_ID, Entity.DATA_ID, Entity.MIMETYPE, Entity.DATA1},
null, null, null);
}
return null;
}
я могу выбрать все RawContacts, которые важны для моего приложения, но тогда я не знаю, как присоединиться, и я не могу получить четкую схему базы данных. Я не знаю, как получить доступ к StatusUpdate оттуда. Цель подобна ORDER BY presence
.
Есть ли простой способ сделать это? Есть ли способ манипулировать контактами, как обычный объект, с помощью ORM? Или у нас есть механизм для создания и управления нашими собственными протоколами обмена мгновенными сообщениями на Android?
Я нашел во время своих исследований ORMLite, которые могут мне очень помочь. Кто-нибудь знает схему базы данных sqlite для контактов в Android? Или лучше кто-нибудь знает о классе контактов с правильными аннотациями, чтобы получить данные? – grea09