Разработка Android-приложений в деталях - читать онлайн бесплатно, автор Тимур Сергеевич Машнин, ЛитПортал
bannerbanner
Разработка Android-приложений в деталях
Добавить В библиотеку
Оценить:

Рейтинг: 5

Поделиться
Купить и скачать

Разработка Android-приложений в деталях

Год написания книги: 2016
Тэги:
На страницу:
5 из 6
Настройки чтения
Размер шрифта
Высота строк
Поля

Поле Grand URI permissions определяет значение атрибута android: grantUriPermissions – если true, тогда приложению, вызывающему ContentProvider-компонент Intent-объектом с флагами FLAG_GRANT_READ_URI_PERMISSION и FLAG_GRANT_WRITE_URI_PERMISSION, предоставляется одноразовый доступ к данным.

Поле Init order определяет значение атрибута android: initOrder, указывающего номер в очереди инициализации ContentProvider-компонентов приложения.

Дочерний тэг (элемент Grant Uri Permission) тэга указывает URI-адрес ContentProvider-компонента, к которому может быть дан одноразовый доступ стороннему приложению, с помощью полей Path, Path prefix и Path pattern, определяющих значения атрибутов android: path, android: pathPrefix и android: pathPattern.

Дочерний тэг (элемент Path Permission) тэга указывает для URI-адреса ContentProvider-компонента разрешения доступа к его данным сторонним приложениям, используя поля Path, Path prefix, Path pattern, Permission, Read permission, Write permission, определяющих значения атрибутов android: path, android: pathPrefix, android: pathPattern, android: permission, android: readPermission и android: writePermission.

Тэг (элемент Receiver) описывает BroadcastReceiver-компонент приложения (класс, расширяющий класс android.content.BroadcastReceiver), позволяющий обрабатывать Intent-объекты, посылаемые широковещательным способом Android-системой или другими приложениями. При выборе элемента Receiver кнопкой Add, во вкладке Application появляется раздел Attributes for Receiver c полями и списками, позволяющий определить атрибуты тэга . Поле со ссылкой Name при нажатии открывает мастер создания Java-класса, расширяющего класс android.content.BroadcastReceiver. Созданный BroadcastReceiver-компонент указывается в качестве значения атрибута android: name.

Поля Label, Description, Icon, Logo, Process, Permission, Enabled, Exported элемента Receiver работают аналогично соответствующим полям элемента Activity раздела Application Nodes вкладки Application.

Тэг (элемент Service) описывает Service-компонент приложения (класс, расширяющий класс android.app.Service), предназначенный для выполнения продолжительных операций без предоставления GUI-интерфейса. При выборе элемента Service кнопкой Add, во вкладке Application появляется раздел Attributes for Service c полями и списками, позволяющий определить атрибуты тэга . Поле со ссылкой Name при нажатии открывает мастер создания Java-класса, расширяющего класс android.app.Service. Созданный Service-компонент указывается в качестве значения атрибута android: name. Поля Label, Description, Icon, Logo, Process, Permission, Enabled, Exported элемента Service работают аналогично соответствующим полям элемента Activity раздела Application Nodes вкладки Application.

Список Stop with task элемента Service определяет значение атрибута android: stopWithTask тэга  – если true, тогда сервис автоматически завершит свою работу при удалении пользователем задачи приложения, по умолчанию false.

Список Isolated process элемента Service определяет значение атрибута android: isolatedProcess – если true, тогда сервис будет работать в изолированном процессе, не имеющим те разрешения, которые даны остальной части приложения.

Тэг (элемент Uses Library) указывает Android-библиотеку, которая требуется для работы приложения. При выборе элемента Uses Library кнопкой Add, во вкладке Application появляется раздел Attributes for Uses Library c полями и списками, позволяющий определить атрибуты тэга . Поле Name определяет значение атрибута android: name, указывающего имя Android-библиотеки, с которой связано приложение, а список Required – значение атрибута android: required – если true (по умолчанию), тогда приложение не может работать и быть инсталлированным без наличия указанной библиотеки в устройстве.

Вкладка Permissions ADT-редактора файла AndroidManifest. xml с помощью кнопки Add обеспечивает добавление в тэг тэгов (элемент Permission), (элемент Permission Group), (элемент Permission Tree), (элемент Uses Permission).

Тэг (элемент Permission) позволяет объявить пользовательское разрешение, которое должно получить стороннее приложение для доступа к Android-компонентам данного приложения. При выборе элемента Permission кнопкой Add, во вкладке Permissions появляется раздел Attributes for Permission c полями и списками, позволяющими определить атрибуты тэга .

Поля Name, Label, Description, Icon и Logo определяют значения атрибутов android: name, android: label, android: description, android: icon и android: logo, указывающих имя, метку, описание, значок и логотип пользовательского разрешения.

Поле Permission group определяет значение атрибута android: permissionGroup, указывающего группу разрешений, к которой относится данное разрешение.

Список Protection level определяет значение атрибута android: protectionLevel, указывающего уровень риска, который несет данное разрешение:

normal – минимальный риск для других приложений, Android-системы, пользователя.

dangerous – может причинить вред пользователю, например, разрешает доступ к данным пользователя.

signature – Android-система даст данное разрешение запрашивающему его приложению, только если запрашивающее разрешение приложение подписано тем же сертификатом, что и данное приложение, которое объявило пользовательское разрешение.

signatureOrSystem – используется только для системных приложений или приложений, подписанных тем же сертификатом, что и приложение, которое объявило пользовательское разрешение.

system – используется только для системных приложений.

development – разрешения даются только при разработке, но не при инсталляции.

Тэг (элемент Permission Group) объявляет группу пользовательских разрешений. При выборе элемента Permission Group кнопкой Add, во вкладке Permissions появляется раздел Attributes for Permission Group c полями и списками, позволяющими определить атрибуты тэга .

Поля Name, Label, Description, Icon и Logo определяют значения атрибутов android: name, android: label, android: description, android: icon и android: logo, указывающих имя, метку, описание, значок и логотип группы пользовательских разрешений.

Поле Priority определяет значение атрибута android: priority, указывающего приоритет обработки Intent-объекта.

Тэг (элемент Permission Tree) объявляет базовое имя дерева разрешений, которые могут быть добавлены программным способом с помощью метода addPermission () класса android.content.pm.PackageManager. При выборе элемента Permission Tree кнопкой Add, во вкладке Permissions появляется раздел Attributes for Permission Tree c полями, позволяющими определить атрибуты тэга . Поля Name, Label, Icon и Logo определяют значения атрибутов android: name, android: label, android: icon и android: logo, указывающих базовое имя, метку, значок и логотип дерева динамически добавляемых разрешений.

Тэг (элемент Uses Permission) обеспечивает при инсталляции приложения запрос на предоставление ему определенного разрешения, которое указывается атрибутом android: name и может быть выбрано с помощью списка Name раздела Attributes for Uses Permission вкладки Permissions.

Вкладка Instrumentation ADT-редактора файла AndroidManifest. xml с помощью кнопки Add обеспечивает добавление в тэг тэга , который используется в файле манифеста проекта Android-тестирования (основа проекта Android-тестирования создается с помощью мастера Android Test Project).

При открытии в ADT-редакторе специфических для Android-разработки файлов, таких как activity_main. xml, strings. xml и AndroidManifest. xml, в меню Refactor Workbench-окна появляется подменю Android, содержащее опции Android-рефакторинга.

Мастер Android XML File

Мастер Android XML File, доступный в разделе Android команды New, обеспечивает создание набора ресурсов Android-приложения, состоящего из:

XML-описаний GUI-интерфейса Activity-компонентов (тип ресурса Layout),

различного рода значений, используемых приложением (тип ресурса Values),

графики (тип ресурса Drawable),

меню приложения (тип ресурса Menu),

наборов цветов (тип ресурса Color List),

анимации (тип ресурса Property Animation и Tween Animation),

метаданных приложения App Widgets (тип ресурса AppWidget Provider),

GUI-интерфейса PreferenceActivity-операции (тип ресурса Preference),

настроек поиска (тип ресурса Searchable).

Тип ресурса Layout

Для создания Layout-файла Android-приложения в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File или Android XML Layout File, нажмем кнопку Next – в результате откроется окно мастера создания Layout-файла, в списке Resource Type которого выбран тип Layout.



Поле File: мастера создания Layout-файла предлагает ввести имя нового файла XML-описания GUI-интерфейса, который затем с расширением. xml появится в каталоге res/layout Android-проекта и будет доступен в Java-коде с помощью сгенерированного класса R.layout. [имя Layout-файла] или в XML-коде с помощью ссылки @ [package: ] layout/ [имя Layout-файла].

Раздел Root Element: мастера создания Layout-файла предлагает выбрать корневой View-компонент GUI-интерфейса, который может быть как контейнером для других GUI-компонентов, так и отдельным GUI-компонентом.

В качестве контейнера обычно используются ViewGroup-компоненты LinearLayout (компоновка в столбец или строку), RelativeLayout (якорная компоновка) и FrameLayout (стековая компоновка), а индивидуальные GUI-компоненты представлены такими View-компонентами как кнопка, флажок, переключатель, текстовая область и др.

Помимо контейнера и индивидуального GUI-компонента корневым элементом Layout-файла может служить элемент , который предназначен для создания Layout-файла, включаемого в другой Layout-файл с помощью тэга . Тэг индивидуального GUI-компонента может также содержать тэг , дающий первоначальный фокус View-компоненту.

Тэг , начиная с версии Android 3.0 (API level 11), обеспечивает модульность GUI-интерфейса Activity-компонента, описывая его часть, которая имеет свой жизненный цикл, свое взаимодействие с пользователем и с другими компонентами приложения и которая может добавляться или удаляться во время работы родительского Activity-компонента. Тэг не может быть корневым элементом Layout-файла, а включается в основной Layout-файл в качестве дочернего тэга контейнера LinearLayout, RelativeLayout или FrameLayout. При этом атрибут android: name указывает имя класса фрагмента, расширяющего класс android.app.Fragment или android.support.v4.app.Fragment.

После ввода имени нового Layout-файла, выбора его корневого элемента и нажатия кнопки Next, появляется окно Choose Configuration Folder, позволяющее выбрать спецификатор папки layout, обеспечивающий поддержку специфической конфигурации Android-устройства, в соответствии с которой папка layout с нужным спецификатором будет выбрана Android-системой для загрузки при выполнении кода приложения.

После создания нового Layout-файла он будет открыт в Layout-редакторе ADT-плагина, обеспечивающим визуальное редактирование GUI-интерфейса.

Тип ресурса Values

Для создания ресурсного файла Android-приложения в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File или Android XML Values File, нажмем кнопку Next – в результате откроется окно мастера, в списке Resource Type которого выберем тип Values.



Поле File: мастера создания ресурсного файла предлагает ввести имя нового файла XML-описания значений приложения, который затем с расширением. xml появится в каталоге res/values Android-проекта и будет доступен в Java-коде с помощью сгенерированного R-класса или в XML-коде с помощью ссылки на имя ресурса.

Раздел Root Element: мастера создания ресурсного файла показывает, что корневым элементом XML-файла служит тэг .

После ввода имени нового ресурсного файла и нажатия кнопки Next, появляется окно Choose Configuration Folder, позволяющее выбрать спецификатор папки values, обеспечивающий поддержку специфической конфигурации Android-устройства, в соответствии с которой папка values с нужным спецификатором будет выбрана Android-системой для загрузки при выполнении кода приложения.

После создания нового ресурсного файла он будет открыт в редакторе Values-файлов ADT-плагина. Кнопка Add вкладки Resources редактора Values-файлов обеспечивает добавление в корневой тэг ресурсного файла тэгов (элемент Color), (элемент Dimension), (элемент Drawable), (элемент Integer Array), (элемент Item), (элемент Quantity Strings (Plurals)), (элемент String), (элемент String Array), . При добавлении элемента Style/Theme кнопкой Add, во вкладке Resources появляется раздел Attributes for Style/Theme c полем Name – определяет значение атрибута name и полем Parent – определяет значение атрибута parent. Созданный стиль доступен в Java-коде с помощью сгенерированного класса R.style.style_name или в XML-коде с помощью ссылки @ [package: ] style/style_name.

Тип ресурса Drawable

Для создания графического ресурса Android-приложения в окне Project Explorer нажмем правой кнопкой мышки на узле проекта и в контекстном меню выберем команду New | Other | Android | Android XML File, нажмем кнопку Next – в результате откроется окно мастера, в списке Resource Type которого выберем тип Drawable.



Поле File: мастера создания графического ресурса предлагает ввести имя нового XML-файла, который затем появится в каталоге res/drawable Android-проекта и будет доступен в Java-коде с помощью сгенерированного класса R.drawable.filename или в XML-коде с помощью ссылки @ [package: ] drawable/filename.

Раздел Root Element: мастера создания графического ресурса предлагает выбрать корневой XML-элемент ресурса:

 – обеспечивает покадровую анимацию, каждый кадр которой представлен Drawable-объектом, определяемым дочерним тэгом . Тэг имеет атрибуты android: visible (true/false, определяет видимость объекта), android: variablePadding (true/false, определяет изменяемость отступов), android: oneshot (true/false, определяет одноразовую или повторяющуюся анимацию). Тэг имеет атрибуты android: drawable (ссылка на Drawable-объект кадра) и android: duration (продолжительность кадра в миллисекундах).

 – обертывает PNG, JPG, GIF изображение, имеет атрибуты android: src (ссылка на обертываемое изображение), android: antialias (true/false, сглаживание изображения), android: filter (true/false, сглаживание при масштабировании изображения), android: dither (true/false, сглаживание переходов при несовпадении конфигураций изображения и экрана), android: gravity (выравнивание изображения, возможные значения top, bottom, left, right, center_vertical, fill_vertical, center_horizontal, fill_horizontal, center, fill, clip_vertical, clip_horizontal), android: tileMode (режим повторения изображения для заполнения им контейнера, возможные значения disabled, clamp, repeat, mirror).

На страницу:
5 из 6