предоставление веб-службы: каковы оптимальные методы разделения данных JSON на два набора данных? - PullRequest
0 голосов
/ 23 декабря 2011

У меня есть база данных, и мне нужно представить данные через HTTP, используя веб-сервисы JSON. В настоящее время я разрабатываю наборы данных JSON, которые будут предоставляться в виде веб-сервисов. Данные из таблиц будут агрегированы для соответствия потребностям приложения.

Если размер данных велик, и мы попытаемся загрузить его сразу, тогда это может занять слишком много времени, и приложение не будет отзывчивым при запуске. Это плохо. Хорошо известно, что мы должны минимизировать количество http-запросов, которые приложение будет делать для загрузки данных. Однако, если бы мы разбили данные на маленькие порции, то на каждом шаге действия приложения приложение будет выполнять http-запросы, что также может быть решением без ответа.

Мы говорим здесь о разработке мобильных приложений, поэтому интернет будет доступен через сотового интернет-провайдера или Wi-Fi, поэтому скорость может быть довольно низкой. Я понимаю, что процесс разделения зависит от процесса работы приложения и т. Д., Просто любопытно, есть ли общие рекомендации? Например: если объем данных JSON превышает 1 МБ, тогда определенно разделите их на более мелкие фрагменты ...

Ответы [ 2 ]

0 голосов
/ 23 декабря 2011

Одним из способов является создание службы, которая запускается при наличии сети.Все загруженные данные могут быть кэшированы в sqlite и использовать контент-провайдера для получения данных.Но это зависит от вашего приложения.

Иногда это зависит от вашего экрана интерфейса.Например,Вы можете создать ListView с грузом больше.При щелчке по нему загружаются дополнительные данные.

Другой способ - создать API, который дает только обновления, основанные на отметке времени.Но все зависит от приложения.Просто делюсь своими идеями.Не может быть идеальным.Другие, безусловно, могут дать лучшую.

0 голосов
/ 23 декабря 2011

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

Кроме того, идеи @Selvin просто великолепны.Не используйте поток пользовательского интерфейса для загрузки материала, используйте другой поток.Сервисы очень хороши для асинхронного получения данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...