Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Связь с сервером

РефератПомощь в написанииУзнать стоимостьмоей работы

Для реализации такой же структуры в приложении создан простой Java-объект — класс «Place», содержащий все перечисленные поля. Rates — список валют. Каждый элемент списка представлен объектом со следующими полями:§ Sell — стоимость продажи валюты; Location — географические координаты места. Объект содержит два поля: Date — дата обновления стоимостей; Timetable — расписание работы; Point — название… Читать ещё >

Связь с сервером (реферат, курсовая, диплом, контрольная)

Данные с сервера приходят в формате JSON в виде списка объектов, каждый из которых содержит информацию об одном месте на карте. Структура такого объекта предусматривает следующие атрибуты:

  • · Bank — название банка;
  • · Point — название филиала;
  • · Address — адрес места;
  • · Timetable — расписание работы;
  • · Rates — список валют. Каждый элемент списка представлен объектом со следующими полями:
    • § Sell — стоимость продажи валюты;
    • § Buy — стоимость покупки;
    • § Date — дата обновления стоимостей;
  • · Location — географические координаты места. Объект содержит два поля:
  • § Latitude — широта;
  • § Longitude — долгота.

Для реализации такой же структуры в приложении создан простой Java-объект — класс «Place», содержащий все перечисленные поля.

За работу с сервером в приложении будут отвечать два инструмента: библиотека Retrofit и наследник IntentService — класс «WebService». С помощью Retrofit осуществляется собственно сетевой запрос, а IntentService выступает в качестве компонента, в котором этот запрос происходит, и обеспечивает асинхронность.

Таким образом, в создаваемой архитектуре операция «LaunchActivity» является граничным объектом, а службу можно считать сущностным объектом Server на робастной диаграмме. Для облегчения класса «LaunchActivity» можно создать класс-прослойку «DataController», который будет запускать IntentService, а также принимать и обрабатывать сигналы от него. В дальнейшем этот же контроллер будет использоваться в основной операции приложения для обновления данных.

Запуск службы осуществляется посредством класса «Intent», а обратную связь будет обеспечивать класс «ServiceResultReceiver». Метод «onReceiveResult» данного класса выполняется при вызове метода «send», который имеет следующую сигнатуру: «void send (int resultCode, Bundle resultData)», где resultCode — это код результата, а resultData — данные. Первый метод будет реализован в контроллере, а при запуске службы в отправляемом намерении будет указано, что сам контроллер является адресатом результатов работы IntentService. Служба же, при получении данных от сервера будет вызывать метод send, указывая в аргументе «resultData» успешность получения информации, а во втором — полученные данные при их наличии. Контроллер, в зависимости от кода результата, будет либо передавать данные операции через метод «onPlacesReceived (Arrayist places)», либо вызывать её метод «onSyncronizationError ()» показывающий сообщение об ошибке.

Показать весь текст
Заполнить форму текущей работой