Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Keyn.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
388.84 Кб
Скачать

2.1 Компоненты приложений в Android

ОС Андроид это многопользовательская Linux система в которой каждое приложение – это отдельный пользователь.

По умолчанию, система присваивает каждому приложению уникальный идентификатор – Linux User ID.Этот ID используется только системой и не известен приложению.

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

По умолчанию, каждое приложение запускается в своем собственном Linux процессе. Андроид запускает процесс всегда, когда любому компоненту приложения необходимо быть выполненным и убивает процесс когда в нем больше нет необходимости или когда системе нужны ресурсы для выполнения другого приложения.Таким образом ОС Андроид использует систему или принцип минимальных привилегий (principle of least privilege),то есть, каждое приложение, по умолчанию, имеет доступ только к тем компонентам которые необходимы для ее работы и не более. Это создает очень безопасную среду, в которой приложение не может получить доступ к частям системы, для которой ей не дали разрешения.

Однако, есть способы для обмена данными с другими приложениями и для доступа к системным службам:

  • Можно организовать чтобы два приложения использовали один и этот же Linux User ID и таким образом они смогут получить доступ к данным друг друга. Для экономии системных ресурсов приложения с одним и тем же User ID можно запускать в одном Linux процессе и разделять одну и ту же VM (для этого приложения должны быть подписаны одним и тем же сертификатом);

  • Приложение может запросить разрешение на доступ к устройству и данным таким, как контакты пользователя, SMS-сообщения, SD-карты, камера, Bluetooth и многое другое. Эти разрешения дает непосредственно пользователь, соглашаясь с тем, что требует приложение в начале установки. Все эти разрешения определяются в файле AndroidManifest.xml.

Интересной чертой операционной системы Android является тот факт, что приложение в ней может использовать для своего функционала элементы других приложений, если, конечно, они предоставляют такой доступ.

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

Для обеспечения такого принципа работы, система должна быть способна запускать процесс приложения тогда, когда потребуется любая его часть и создавать экземпляры java-объектов именно для этой части. Поэтому приложения Android не имеют единой точки входа в программу, как это принято в большинстве систем (например, main () в Си). Вместо этого их код представляет собой набор некоторых отдельных целостных сущностей, компонент, из которых система по мере необходимости может создавать экземпляры и использовать их. Можно выделить четыре типа таких сущностей-компонент. Поговорим о каждой в отдельности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]