Форум программистов, компьютерный форум, киберфорум
Наши страницы

Контакты с гугл аккаунта - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Рисование http://www.cyberforum.ru/android-dev/thread780260.html
Здравствуйте, можно ли кинуть поверх бэкграунда прозрачный слой и рисовать на нем? на канве вроде нельзя прозрачность ставить.. или если можно на andengine рисовать на спрайтах..
Программирование Android Пути и подводные камни Монетизации Доброго времени суток! Интересуют такие моменты: 1) Варианты вывода денег для Украинских разработчиков (прозрачные и теневые). 2) Payoneer. Много Интернет-источников посвящены этому... http://www.cyberforum.ru/android-dev/thread780164.html
Программирование Android Не запускается эмулятор
Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: emulator-arm.exe Версия приложения: 0.0.0.0 Отметка времени приложения: 50c006de Имя модуля с ошибкой: atioglxx.dll ...
Программирование Android Возврат на активность и проигрывание видео
Добрый день уважаемые формучане... Есть две активности main и send В Main активности в onCreate проигрывается видео, оно зациклено на проигрывание videoView =...
Программирование Android Автоматическая отправка отчетов по mail-smtp http://www.cyberforum.ru/android-dev/thread779339.html
Добрый день.Проблема такая: Требуется отправлять почтовое сообщение при событии с определенным текстом на адрес gmail. При компиляции проекта все идет хорошо,но после запуска программы на...
Программирование Android Sprite animation Народ мне надо создать анимацию огня есть 10 состояний огня в отдельных картинках помогите дельным примером p.s. трудности возникли из-за того что обычно во всех примерах все сотояния объекта... подробнее

Показать сообщение отдельно
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586

Контакты с гугл аккаунта - Программирование Android

06.02.2013, 16:55. Просмотров 1292. Ответов 17
Метки (Все метки)

Используя контент провайдер получаю список контактов у которых есть дни рождения. Этот список вывожу в виджет. Получаю 5, 10 строк не больше. На телефонах, где телефонная книжка большая, примерно 150-200 контактов программа подвисает или вообще вылетает с ошибкой. Проверить не могу, что бы отследить ошибку на моих телефонах все работает. Может на вскидку кто может указать вектор проблемы? От версии дроида не зависит и от можности телефона тоже, точно выявлено, что зависит от количества контактов.

Вот код получения списка:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private static void getDataFromContacts(Context context){
    ContentResolver contentResolver = context.getContentResolver();
    
    Uri uri = ContactsContract.Data.CONTENT_URI;
    String[] projection = new String[] {
        ContactsContract.Contacts.DISPLAY_NAME,
        ContactsContract.CommonDataKinds.Event.CONTACT_ID,
        ContactsContract.CommonDataKinds.Event.START_DATE
    };
    String startdate = ContactsContract.CommonDataKinds.Event.START_DATE;
    String selection =
        ContactsContract.Data.MIMETYPE + "= ? AND " +
        ContactsContract.CommonDataKinds.Event.TYPE + "=" + ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY;
    String[] selectionArgs = new String[] {ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE};
    String sortOrder = String.format("(substr("+startdate+",6,2)  * 100+substr("+startdate+",9,2))+CASE WHEN (substr("+startdate+",6,2)  * 100+substr("+startdate+",9,2))>=(2*100+6) THEN 1 ELSE 2000 END LIMIT 5");
    
    final Cursor cursor = contentResolver.query(uri, projection, selection, selectionArgs, sortOrder); 
    
    while (cursor.moveToNext()) {
        String date = cursor.getString(2);
        String[] strdate = date.split("-");
        int ND = Integer.valueOf(strdate[2]);
        int NM = Integer.valueOf(strdate[1]);
        String comm = cursor.getString(0);
        setDataTmp(context, comm, ND, NM, false);//запись в базу данных SQLite
    }
    cursor.close();
}
вообще у меня сначала записываются данные в общую базу из разных источников. источников три. первые два имеют по 200-300 строк и отрабатываются на ура. Недавно добавил считывание контактов и вот такая засада.
В SortOrder идет сортировка данных упорядочивая даты которые больше 6 февраля (для примера) и результат ограничивается 5-ю строками. Промежуточную базу использую для сортировки данных из разных источников.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru