Посоветуйте, как лучше...

Ответить
Roger68
Сообщения: 16
Зарегистрирован: 12 фев 2013, 23:43

Посоветуйте, как лучше...

Сообщение Roger68 » 13 фев 2013, 00:33

Добрый день!
Во-первых, хочу поблагодарить Дмитрия за его полезные уроки. Спасибо!

Теперь к делу. Я совсем зеленый новичок в Java вообще и Android в частности, но шеф сказал надо, значит надо. А надо получать от сервера большие объемы данных. В основном, таблицы. Подозреваю, что запихнуть таблицу в несколько десятков тысяч строк разом по вьюхам не получится. Выходов мне видится два.

1. Реализовать "постраничную" передачу информации с предоставлением пользователю свободной навигации по ним. Плюс - небольшой размер передаваемого пакета. значит шевелится будет шустро. Минус - увеличенный траффик, так как страницы могут передаваться по нескольку раз.

2. Использовать базу данных. Сервис заливает данные туда, сообщает активити и та начинает их отображать. С одной стороны - красиво. С другой, если пользователю нужно заглянуть в самый конец, он не сможет этого сделать, пока все данные не придут, а при больших объемах это может занять не одну минуту.

И чтобы не продираться сквозь многочисленные грабли на собственноручно изготовленном корявом велосипеде, прошу, подскажите, на чем мне остановится ? Как умные люди подобные задачи решают? Может из-за отсутствия опыта я еще какой-нть вариант проглядел ?

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Посоветуйте, как лучше...

Сообщение neoksi » 13 фев 2013, 00:54

Первым делом, я бы посоветовал тебе, вместе с шефом взять лист бумаги и нарисовать как вы видите взаимодействие пользователя с программой. Нарисовать примерно, как будет выглядеть приложение. Тогда, исходя из рисунка, ты сможешь понять, как оптимально в твоём случае действовать.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Посоветуйте, как лучше...

Сообщение rezak90 » 13 фев 2013, 01:07

При первом запуске сливаешь всю бд на телефон и далее работаешь с ней, если нужна синхронизация то делаешь её, нужны будут апдейты то апдейт когда нужно будет.
С отображением данных хоть в сто пятсот тысяч строк не будет проблем, так как данные отображаются только те что видны в данный момент на экране (если например использовать listview, можноо вообще сделать так что бы данные подгружались при каждом скроллинге).
R.id.team
Политика на форуме запрещена

Roger68
Сообщения: 16
Зарегистрирован: 12 фев 2013, 23:43

Re: Посоветуйте, как лучше...

Сообщение Roger68 » 13 фев 2013, 10:15

neoksi писал(а):Первым делом, я бы посоветовал тебе, вместе с шефом взять лист бумаги и нарисовать как вы видите взаимодействие пользователя с программой. Нарисовать примерно, как будет выглядеть приложение. Тогда, исходя из рисунка, ты сможешь понять, как оптимально в твоём случае действовать.
Ну вот надо тебе добраться из пункта А в пункт Б, расположенный в другой стране. Есть две дороги, одни короткая, другая длинная, на каждой стоят таможни. Не зная состояния дорог и пропускной способности таможен, сложно по одной карте сделать оптимальный выбор. Надо поспрашивать людей, которые часто ездят по этим маршрутам. Вот и в моем случае, схемы-то есть, но не имея практики за плечами, выбор сделать затруднительно.
rezak90 писал(а):При первом запуске сливаешь всю бд на телефон и далее работаешь с ней, если нужна синхронизация то делаешь её, нужны будут апдейты то апдейт когда нужно будет.
Увы, у нас в клиентах сети магазинов, ресторанов, заправочных станций с десятками торговых точек. Размеры баз переваливают за сотню гиг, но отчеты на телефоне смотреть им хочется.

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Посоветуйте, как лучше...

Сообщение neoksi » 13 фев 2013, 11:07

Roger68 писал(а): ...
Увы, у нас в клиентах сети магазинов, ресторанов, заправочных станций с десятками торговых точек. Размеры баз переваливают за сотню гиг, но отчеты на телефоне смотреть им хочется.
Вот тут ты ответил на вопрос.
Формируется отчет, кладется в БД на сервере, если клиент хочет посмотреть, то он открывает программу, которая отображает ему отчет. Карта действий пользователя примерна следующая:
1) Открыл программу, она запросила на сервере список отчетов и отобразила ему.
2) Он выбрал отчет, программа запросила его с сервера и сохранила временно в локальной БД.
3) Программа отображает отчет из локальной БД.
4) Пользователь выходит, а программа в это время чистит локальную БД.

Roger68
Сообщения: 16
Зарегистрирован: 12 фев 2013, 23:43

Re: Посоветуйте, как лучше...

Сообщение Roger68 » 13 фев 2013, 14:57

Спасибо

Ответить