Помощь в учёбе, очень быстро...
Работаем вместе до победы

Разработка программы для модуля управления

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

Пауза если она потеряла фокус ввода, но все еще видима пользователю. Это происходит, когда другая деятельность открыта поверх, но имеет полупрозрачный или не перекрывающий весь экран графический интерфейс пользователя, так что остается видимой часть графического интерфейса перекрытой деятельности. Приостановленная деятельность полностью жива (она поддерживает все состояния и рабочую информацию… Читать ещё >

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

Особенности разработки программы для операционной системы Android

Главной особенностью в Android является возможность использовать приложением компоненты/элементы других приложений, естественно с их разрешения.

В Android существует четыре важных компонента:

  • а) activity — описывает пользовательский интерфейс. Большинство обычных приложений состоит из одной и более активностей;
  • б) service — описывает сервис, некая задача без пользовательского интерфейса, выполняемая в фоновом режиме определенное или бесконечное время, например, проигрывание музыки. Взаимодействие с сервисами, например, пауза происходит через определенные интерфейсы;
  • в) broadcastReceiver — описывает реакцию на различные сообщения, как изменение временной зоны, разрядка аккумулятора, смена языка и т. п;
  • г) contentProvider — открывает доступ к данным другим приложениям. Обычно объекты этого типа используются через объекты типа ContentResolver. При каждом запросе к такому компоненту Android делает все, чтобы компонент стал доступным (запуск приложения, владеющее этим компонентом, создание самого объекта этого типа).

За исключением поставщиков данных, компоненты запускаются с использованием объектов типа Intent, представляющих асинхронное сообщение. По необходимости в них можно сохранить результат работы компонента и вернуть родительскому компоненту. В Android есть множество предопределенных интентов.

В Android предусмотрен механизм передачи данных между компонентами, например, между активностями.

Для передачи сложных объектов, в них реализуется интерфейс Parcelable. Класс Parcel реализует контейнер для передаваемых данных. Он может содержать как простые типы данных, так и сложные объекты.

Далее контейнер добавляется в Intent сообщение под каким-либо именем (обычно с префиксом пакета). Получатель смотрит Intent, берет оттуда контейнер, вызовом метода getExtra получает отображение имя/объект.

Каждое Android-приложение имеет манифест файл AndroidManifest. xml, который просматривается андроидом перед запуском. В нем перечисляются доступные компоненты, точка входа в приложение, используемые интенты, права доступа и т. п.

Android имеет развитую систему управления ресурсами. Главная задача — отделить данные от кода. Большинство ресурсы описываются в различных xml файлах. Например, можно определить строковые данные для различных языков, или изображения для разных разрешений. Формы пользовательского интерфейса активностей также можно определить в ресурсах.

Компоненты приложения имеют свой жизненный цикл — начиная с инициализации их для ответа на намерение до их уничтожения. Поэтому, они могут быть активными или неактивными или, с случае деятельности, видимыми или невидимыми пользователю. Эта часть обсуждает деятельности, службы и широковещательные подписчики — включая их состояния во время жизненного цикла, методы уведомляющие о смене состояния, и эффект влияния на состояния возможности, что их процессы может быть завершен и экземпляры классов удалены.

Деятельность имеет три состояния:

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

Если деятельность приостановлена или остановлена, система может удалить ее из памяти запросив ее завершение (вызывая ее метод finish ()), или просто убив ее процесс. Когда нужно снова показать ее пользователю, она должна быть полностью перезапущена и восстановлена к ее предыдущему состоянию.

Приход деятельности из состояние в состояние, сообщает об изменении вызовами следующих защищенных методов:

  • — void onCreate (Bundle savedInstanceState);
  • — void onStart ();
  • — void onRestart ();
  • — void onResume ();
  • — void onPause ();
  • — void onStop ();
  • — void onDestroy ().

Все эти методы — обработчики прерываний, которые можно перекрыть, чтобы сделать соответствующую работу, когда состояние изменяется. Все деятельности должны реализовать onCreate () для начальной инициализации, когда создается экземпляр класса. Многие так же должны реализовать onPause () чтобы передать изменения данных и подготовиться к прекращению взаимодействия с пользователем.

Реализация любого метода в жизненном цикле деятельности всегда должна сначала вызвать метод суперкласса. Например:

protected void onPause () {.

super.onPause ();

.. .

}.

Все вместе эти семь методов определяют весь жизненный цикл деятельности. Есть три вложенных цикла, которые можно контролировать, реализовав их:

  • а) полное время жизни деятельности проходит между первым вызовом onCreate () к единственному финальному вызову onDestroy (). Деятельность делает всю свою начальную установку «глобального» состояния в методе onCreate (), и высвобождает все занятые ресурсы в методе onDestroy (). Например, если она уже работает в фоне для получения данных из сети, она может создать поток в onCreate () и уничтожить в onDestroy ();
  • б) видимое время жизни деятельности проходит между вызовом onStart () до соответствующего вызова onStop (). В это время, пользователь может видеть экранную деятельность, хотя, возможно, она не находится на переднем плане и не взаимодействует с пользователем. Между этими двумя методами, Вы можете захватить ресурсы, которые необходимы, чтобы показать деятельности пользователю. Например, Вы можете зарегистрировать BroadcastReceiver в onStart () чтобы контролировать изменения, которые воздействуют на Ваш UI, и разрегистрируют его в onStop (), когда пользователь долго не видит, что Вы показывате. Методы onStart () и onStop () могут быть вызваны многократно, так как деятельность может многократно быть показана и скрыта от пользователя;
  • в) время жизни переднего плана деятельности проходит между вызовом onResume () до соответствующего вызова onPause (). В это время, деятельность на экране расположена впереди все других и взаимодействует с пользователем. Деятельность может часто переходить между продолженными и приостановленными состояниями, например, onPause () вызывается, когда устройство засыпает или, когда запускается новая деятельность, onResume () вызывается, когда появляется результат деятельности или приходит новое намерение. Поэтому, код в этих двух методах должен быть довольно легковесным.

На рисунке 4.1 показаны основные циклы и пути, которые деятельность может пройти между состояниями.

Основные стадии работы приложения под управлением ОС Android.

Рисунок 4.1 — Основные стадии работы приложения под управлением ОС Android.

Цветные овалы — главные состояния, в которых может быть деятельность. Прямоугольники представляют методы возвратного вызова, которые можно реализовать, чтобы выполнить операции, когда деятельности переходят между состояниями.

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