Добрый день!
Во-первых, хочу поблагодарить Дмитрия за его полезные уроки. Спасибо!
Теперь к делу. Я совсем зеленый новичок в Java вообще и Android в частности, но шеф сказал надо, значит надо. А надо получать от сервера большие объемы данных. В основном, таблицы. Подозреваю, что запихнуть таблицу в несколько десятков тысяч строк разом по вьюхам не получится. Выходов мне видится два.
1. Реализовать "постраничную" передачу информации с предоставлением пользователю свободной навигации по ним. Плюс - небольшой размер передаваемого пакета. значит шевелится будет шустро. Минус - увеличенный траффик, так как страницы могут передаваться по нескольку раз.
2. Использовать базу данных. Сервис заливает данные туда, сообщает активити и та начинает их отображать. С одной стороны - красиво. С другой, если пользователю нужно заглянуть в самый конец, он не сможет этого сделать, пока все данные не придут, а при больших объемах это может занять не одну минуту.
И чтобы не продираться сквозь многочисленные грабли на собственноручно изготовленном корявом велосипеде, прошу, подскажите, на чем мне остановится ? Как умные люди подобные задачи решают? Может из-за отсутствия опыта я еще какой-нть вариант проглядел ?
Посоветуйте, как лучше...
Re: Посоветуйте, как лучше...
Первым делом, я бы посоветовал тебе, вместе с шефом взять лист бумаги и нарисовать как вы видите взаимодействие пользователя с программой. Нарисовать примерно, как будет выглядеть приложение. Тогда, исходя из рисунка, ты сможешь понять, как оптимально в твоём случае действовать.
Re: Посоветуйте, как лучше...
При первом запуске сливаешь всю бд на телефон и далее работаешь с ней, если нужна синхронизация то делаешь её, нужны будут апдейты то апдейт когда нужно будет.
С отображением данных хоть в сто пятсот тысяч строк не будет проблем, так как данные отображаются только те что видны в данный момент на экране (если например использовать listview, можноо вообще сделать так что бы данные подгружались при каждом скроллинге).
С отображением данных хоть в сто пятсот тысяч строк не будет проблем, так как данные отображаются только те что видны в данный момент на экране (если например использовать listview, можноо вообще сделать так что бы данные подгружались при каждом скроллинге).
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Посоветуйте, как лучше...
Ну вот надо тебе добраться из пункта А в пункт Б, расположенный в другой стране. Есть две дороги, одни короткая, другая длинная, на каждой стоят таможни. Не зная состояния дорог и пропускной способности таможен, сложно по одной карте сделать оптимальный выбор. Надо поспрашивать людей, которые часто ездят по этим маршрутам. Вот и в моем случае, схемы-то есть, но не имея практики за плечами, выбор сделать затруднительно.neoksi писал(а):Первым делом, я бы посоветовал тебе, вместе с шефом взять лист бумаги и нарисовать как вы видите взаимодействие пользователя с программой. Нарисовать примерно, как будет выглядеть приложение. Тогда, исходя из рисунка, ты сможешь понять, как оптимально в твоём случае действовать.
Увы, у нас в клиентах сети магазинов, ресторанов, заправочных станций с десятками торговых точек. Размеры баз переваливают за сотню гиг, но отчеты на телефоне смотреть им хочется.rezak90 писал(а):При первом запуске сливаешь всю бд на телефон и далее работаешь с ней, если нужна синхронизация то делаешь её, нужны будут апдейты то апдейт когда нужно будет.
Re: Посоветуйте, как лучше...
Вот тут ты ответил на вопрос.Roger68 писал(а): ...
Увы, у нас в клиентах сети магазинов, ресторанов, заправочных станций с десятками торговых точек. Размеры баз переваливают за сотню гиг, но отчеты на телефоне смотреть им хочется.
Формируется отчет, кладется в БД на сервере, если клиент хочет посмотреть, то он открывает программу, которая отображает ему отчет. Карта действий пользователя примерна следующая:
1) Открыл программу, она запросила на сервере список отчетов и отобразила ему.
2) Он выбрал отчет, программа запросила его с сервера и сохранила временно в локальной БД.
3) Программа отображает отчет из локальной БД.
4) Пользователь выходит, а программа в это время чистит локальную БД.
Re: Посоветуйте, как лучше...
Спасибо