Загрузка SMS в ListView

Интерфейс, диалоги, темы, стили, меню
Ответить
EspanaMia
Сообщения: 24
Зарегистрирован: 10 янв 2014, 11:03

Загрузка SMS в ListView

Сообщение EspanaMia » 14 апр 2014, 16:31

Требуется загрузить в ListView SMS сообщения и преобразовать номера SMS в имена контактов, использую следующий код:

// Загружаю номер и текст сообщения
Uri uri = Uri.parse("content://sms");
CursorLoader cursorLoader = new CursorLoader(getApplicationContext(), uri, null, null, null, "date DESC");
Cursor cursor2 = cursorLoader.loadInBackground();
while (cursor2.moveToNext()) {
number_bd = cursor2.getString(2);
message = cursor2.getString(cursor2.getColumnIndex("body"));

// по номеру телефона получаем имя контакта
Uri contactUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number_bd));
String[] projection = new String[]{Contacts._ID, Contacts.DISPLAY_NAME};
String selection = ContactsContract.CommonDataKinds.Phone.NUMBER + " = " + number_bd;
Cursor cursorContactId = getContentResolver().query(contactUri, projection, selection, null, null);
if (cursorContactId.moveToNext())
{
displayName = cursorContactId.getString(cursorContactId.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
cursorContactId.close();
}

Для ListView использую адаптер BaseAdapter и ViewHolder.

Проблема в том, что данные загружаются очень долго, каким образом это сделано например в стандартном SMS мессенджере, где загрузка всех SMS занимает не более 1 сек. ?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Загрузка SMS в ListView

Сообщение Foenix » 14 апр 2014, 17:07

вопрос интересный, но неотформатированный код.....
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Загрузка SMS в ListView

Сообщение altwin » 14 апр 2014, 17:26

EspanaMia писал(а):каким образом это сделано например в стандартном SMS мессенджере, где загрузка всех SMS занимает не более 1 сек. ?
Что мешает посмотреть? https://github.com/android/platform_pac ... nList.java
Это класс так сказать main screen нативного смс приложения в Android.
Изображение

Ответить