Я разрабатываю приложение, которое синхронизирует различные данные через JSON практически в каждом мероприятии. Этим данным можно манипулировать другими устройствами, поэтому я должен постоянно обновлять их, когда это возможно.Синхронизация данных в Android-приложении
Например, в первой деятельности я войти на веб-сервис, и в следующей деятельности я использую AsyncTask загрузить JSON, который говорит мне все модели автомобилей в магазине, и использовать эту информацию для создания ListView. Нажав на одну строку, я вызываю другую AsyncTask, чтобы загрузить определенную информацию (JSON) об этом автомобиле и получить, например, информацию о ее шинах. В следующем действии я звоню другому AsyncTask, чтобы получить конкретную информацию об этих шинах. В большинстве случаев требуемая информация, которая будет использоваться в следующем Управлении, сохраняется в SharedPreferences, потому что я понятия не имею, как иметь доступ к ArrayLists во всем приложении, и я не знаю, будет ли он использовать много оперативной памяти. И если это хорошая идея, чтобы поделиться таким количеством объектов через приложение.
Вы можете видеть, что каждый раз, когда моя активность перезагружается, AsyncTask проверяет соединение и загружает новые данные для отображения. Служба не поддерживает push, поэтому я предполагаю, что я обязан проверять ее каждый раз, правильно?
Еще одна вещь, которую следует учитывать, - это то, что загружаемые данные могут быть изменены, и в этом случае я должен загрузить JSON и соответственно обновить представления. В этом аспекте я понятия не имею, как сохранить «изменения», которые будут загружены при отключении соединения. Например, создавая список несинхронизированных задач в очереди.
Результатом является приложение, которое сильно зависит от подключения к Интернету и чувствует себя медленным каждый раз, когда действие возобновляется.
Для большей части я создаю новый объект ArrayList (Car, Tyres и т. Д.), Но я смущен, как правильно синхронизировать данные в JSON, если все теперь является объектом. Может быть, использовать GJON?
Мне действительно нужны некоторые советы о том, как управлять такими приложениями.
Thanks
Не используйте 'AsyncTask' для связи с вашим веб-сервисом. См. Беседу Google IO о разработке клиентских приложений REST (http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html) и библиотеке Robospice (https: // github .com/octo-online/robospice) для реализации, основанной на этом разговоре. –
@TylerTreat Большое спасибо, я собираюсь посмотреть эту сессию сейчас! Надеюсь, это дает мне немного света. Хотя я обычно боюсь использовать сторонние библиотеки и иметь много зависимостей в своем проекте. – 2013-03-06 03:49:11
@TylerTreat thanks Tyler Я также смотрю это сейчас – wired00