Skip to content

Latest commit

 

History

History
141 lines (89 loc) · 7.32 KB

README.md

File metadata and controls

141 lines (89 loc) · 7.32 KB

Android и Manifest


Android — это операционная система на основе ядра Linux, разработанная для мобильных устройств (смартфонов, планшетов, умных часов и т.д.). Она предоставляет среду для выполнения приложений и взаимодействия с аппаратными компонентами устройства.


Android SDK

Android SDK (Software Development Kit) — это набор инструментов для разработки приложений под Android. Он включает:

  • Библиотеки - Готовые компоненты для работы с UI, сетью, базами данных и т.д.
  • Эмулятор - Для тестирования приложений на виртуальных устройствах.
  • Инструменты командной строки - Например, adb (Android Debug Bridge) для отладки.
  • Документацию - Руководства и справочные материалы.

Основные компоненты Android SDK:

  • Android Studio - Официальная среда разработки (IDE) для Android.
  • SDK Manager - Управление версиями SDK, эмуляторами и инструментами.
  • Build Tools - Инструменты для сборки приложений (например, gradle).
  • Platform Tools - Инструменты для работы с устройствами (например, adb).

Android NDK

Android NDK (Native Development Kit) — это набор инструментов для разработки приложений на языках C/C++. Он используется, когда нужно:

  • Использовать существующие библиотеки на C/C++.
  • Оптимизировать производительность (например, для игр или обработки видео).
  • Работать с низкоуровневыми API (например, OpenGL).

Основные компоненты NDK:

  • Компиляторы - Для сборки кода на C/C++.
  • Библиотеки - Например, libc, libm и другие.
  • Инструменты для отладки - Например, ndk-gdb.

Структура ОС Android

Операционная система Android состоит из нескольких уровней (слоев), каждый из которых выполняет свои задачи.

Ядро Linux

Ядро Linux — это основа Android. Оно управляет:

  • Памятью.
  • Процессами.
  • Драйверами устройств (например, камеры, дисплея, сенсоров).
  • Сетью и безопасностью.

Библиотеки и Android Runtime

Библиотеки на C/C++:

  • Surface Manager - Управляет отображением графики.
  • Media Framework - Для работы с аудио и видео.
  • SQLite - Для работы с базами данных.
  • OpenGL ES - Для работы с 3D-графикой.
  • WebKit - Для работы с веб-контентом.

Android Runtime (ART):

  • ART — это среда выполнения приложений, которая заменяет Dalvik (использовался до Android 5.0).
  • ART компилирует байт-код приложений (DEX) в машинный код (AOT-компиляция), что повышает производительность.

Framework API

Framework API — это набор Java-библиотек, которые предоставляют доступ к функциям ОС:

  • Activity Manager - Управляет жизненным циклом приложений.
  • Content Providers - Для обмена данными между приложениями.
  • Resource Manager - Для работы с ресурсами (например, строками, изображениями).
  • Notification Manager - Для работы с уведомлениями.
  • View System - Для создания пользовательского интерфейса.

Приложения

  • Системные приложения: Например, телефон, сообщения, камера.
  • Сторонние приложения: Устанавливаются пользователем из Google Play или других источников.

Архитектура Android

Android использует многоуровневую архитектуру, которая включает:

  • Приложения - Верхний уровень, с которым взаимодействует пользователь.
  • Framework API - Предоставляет API для разработки приложений.
  • Библиотеки и Android Runtime - Обеспечивают выполнение приложений.
  • Ядро Linux - Управляет аппаратными ресурсами.

Основные компоненты Android

  • Activity - Представляет собой один экран с пользовательским интерфейсом.
  • Service - Выполняет задачи в фоновом режиме (например, воспроизведение музыки).
  • BroadcastReceiver - Реагирует на системные события (например, изменение времени).
  • ContentProvider - Управляет доступом к данным (например, контактам, медиафайлам).

Manifest

AndroidManifest.xml — это файл, который описывает основные компоненты приложения и их настройки. Он находится в папке app/src/main и является обязательным для любого Android-приложения.

Основные элементы Manifest

<application>

  • Описывает приложение.
  • Содержит атрибуты, такие как android:icon, android:label, android:theme.

<activity>

  • Описывает Activity в приложении.
  • Содержит атрибуты, такие как android:name, android:label, android:theme.

<intent-filter>

  • Определяет, как Activity или Service могут быть запущены.
  • Например, <action android:name="android.intent.action.MAIN" /> указывает, что Activity является главной.

<uses-permission>

  • Запрашивает разрешения для приложения (например, доступ к интернету, камере).

<service>, <receiver>, <provider>:

  • Описывают Service, BroadcastReceiver и ContentProvider соответственно.