Читать книгу «Разработка Android-приложений в деталях» онлайн полностью📖 — Тимура Сергеевича Машнина — MyBook.
image























Has code – определяет значение атрибута android: hasCode тэга <application> – если false, тогда приложение не содержит Java-кода, а полностью реализовано на основе программного интерфейса NDK API, по умолчанию true.

Persistent – определяет значение атрибута android: persistent тэга <application> – если true, тогда приложение работает до тех пор, пока работает устройство, обычно используется системными приложениями, по умолчанию false.

Enabled – определяет значение атрибута android: enabled тэга <application> – если false, тогда Android-система не может создавать экземпляры компонентов приложения, по умолчанию true.

Debuggable – определяет значение атрибута android: debuggable тэга <application>. Android-инструменты сборки ADT-плагина автоматически добавляют значение атрибута true в отладочном режиме и удаляют данный атрибут, имеющий по умолчанию значение false, при экспорте релиза приложения.

Vm safe mode – определяет значение атрибута android: vmSafeMode тэга <application> – если true, тогда JIT-оптимизация отключается.

Hardware accelerated – определяет значение атрибута android: hardwareAccelerated тэга <application> – если true, тогда включается аппаратное ускорение визуализации, по умолчанию false.

Manage space activity – определяет значение атрибута android: manageSpaceActivity тэга <application>, указывает имя Activity-компонента, который запускается дополнительной кнопкой Управление местом в разделе настроек Приложения | Управление приложениями Android-устройства.

Allow clear user data – определяет значение атрибута android: allowClearUserData тэга <application> – применимо только для системных приложений, для обычных приложений игнорируется.

Test only – определяет значение атрибута android: testOnly тэга <application> – если true, тогда приложение находится в стадии тестирования и не может быть инсталлировано в Android-устройстве.

Backup agent – определяет значение атрибута android: backupAgent тэга <application>, указывает имя класса, расширяющего класс android.app.backup.BackupAgent, который вызывается сервисом Backup Manager для определения настроек приложения, сохраняемых в облачном хранилище, и их восстановления при реинсталляции приложения в случае обновления Android-системы устройства.

Allow backup – определяет значение атрибута android: allowBackup тэга <application> – если false, тогда приложение не обслуживается сервисом Backup Manager, по умолчанию true.

Kill after restore – определяет значение атрибута android: killAfterRestore тэга <application> – используется системными приложениями.

Restore needs application – определяет значение атрибута android: restoreNeedsApplication тэга <application> – используется системными приложениями.

Restore any version – определяет значение атрибута android: restoreAnyVersion тэга <application> – если true, тогда сервис Backup Manager будет восстанавливать приложение даже в том случае, если версии облачного хранилища и текущей инсталляции не совпадают, по умолчанию false.

Never encrypt – определяет значение атрибута android: neverEncrypt тэга <application> – если true, тогда приложение отказывается от защиты хранения своих данных.

Large heap – определяет значение атрибута android: largeHeap тэга <application> – если true, тогда приложению может понадобиться расширение размера кучи.

Cant save state – определяет значение атрибута android: cantSaveState тэга <application> – если true, тогда приложение является ресурсоемким и отказывается участвовать в сохранении-восстановлении Android-системой своего состояния. При таком работающем приложении, если пользователь пытается загрузить другое приложение, он запрашивается на выход из первого приложения.

Ui options – определяет значение атрибута android: uiOptions тэга <application>, указывающее дополнительные опции GUI-интерфейса Activity-компонентов приложения с помощью двух значений: none (по умолчанию, нет дополнительных опций) и splitActionBarWhenNarrow (добавляет панель ActionBar, разделенную на секцию навигации и панель действий).

Supports rtl – определяет значение атрибута android: supportsRtl тэга <application> – если true, тогда приложение поддерживает right-to-left (RTL) письменность справа налево.

Раздел Application Nodes вкладки Application кнопкой Add обеспечивает добавление в тэг <application> тэгов <activity> (элемент Activity), <activity-alias> (элемент Activity Alias), <meta-data> (элемент Meta Data), <provider> (элемент Provider), <receiver> (элемент Receiver), <service> (элемент Service), <uses-library> (элемент Uses Library).

Кнопка Add позволяет добавлять в тэги <activity>, <receiver> и <service> тэги <intent-filter> (элемент Intent Filter) и <meta-data> (элемент Meta Data), при этом в тэг <intent-filter> могут добавляться кнопкой Add тэги <action> (элемент Action), <category> (элемент Category), <data> (элемент Data).

В тэг <provider> кнопка Add добавляет тэги <grant-uri-permission> (элемент Grant Uri Permission), <meta-data> (элемент Meta Data), <path-permission> (элемент Path Permission).

Тэг <activity> (элемент Activity) описывает Activity-компонент приложения (класс, расширяющий класс android.app.Activity). При выборе элемента Activity кнопкой Add, во вкладке Application появляется раздел Attributes for Activity, позволяющий определить атрибуты тэга <activity> с помощью следующих полей и списков:

Name – при нажатии открывает мастер создания Java-класса, расширяющего класс android.app.Activity. Созданный Activity-компонент указывается в качестве значения атрибута android: name.

Theme – определяет для Activity-компонента стиль, указываемый как значение атрибута android: theme.

Label – отображаемая пользователю метка Activity-компонента, указываемая значением атрибута android: label.

Icon – значок Activity-компонента, определяемый значением атрибута android: icon.

Logo – определяет значение атрибута android: logo, указывающего логотип приложения для отображения в панели ActionBar.

Launch mode – список позволяет выбрать значение атрибута android: launchMode, определяющего загрузку Activity-компонента при получении вызывающего Intent-объекта:

standart (по умолчанию) – Android-система всегда создает новый экземпляр Activity-компонента в целевой задаче и передает ему Intent-объект.

singleTop – если экземпляр Activity-компонента уже существует на переднем плане целевой задачи, вызывается метод onNewIntent () уже существующего экземпляра, вместо создания нового экземпляра Activity-компонента.

singleTask – Android-система создает новый экземпляр Activity-компонента в новой задаче и передает ему Intent-объект. Если экземпляр Activity-компонента уже существует, тогда вызывается его метод onNewIntent (), вместо создания нового экземпляра Activity-компонента.

singleInstance – работает аналогично singleTask, за исключением того, что задача может содержать только один Activity-компонент.

Screen orientation – список позволяет выбрать значение атрибута android: screenOrientation, определяющего ориентацию отображения Activity-компонента на экране:

unspecified (по умолчанию) – ориентацию выбирает Android-система.

user – ориентация определяется пользовательскими предпочтениями.

behind – ориентация такая же, как и у предыдущего Activity-компонента.

landscape – альбомная (горизонтальная) ориентация.

portrait – портретная (вертикальная) ориентация.

reverseLandscape – альбомная (горизонтальная) ориентация в противоположном направлении.

reversePortrait – портретная (вертикальная) ориентация в противоположном направлении.

sensorLandscape – альбомная (горизонтальная) ориентация, направление которой определяется Android-системой на основе сенсора.

sensorPortrait – портретная (вертикальная) ориентация, направление которой определяется Android-системой на основе сенсора.

sensor – ориентация определяется Android-системой на основе сенсора.

fullSensor – ориентация определяется Android-системой на основе сенсора с возможностью ориентаций landscape, portrait, reverseLandscape и reversePortrait.

nosensor – сенсор устройства игнорируется.

Config changes – кнопка Select позволяет выбрать значение атрибута android: configChanges, определяющего изменения конфигурации, при которых Activity-компонент не перезапускается, а вызывается его метод onConfigurationChanged ():

mcc – изменение MCC-кода страны.

mnc – изменение MNC-кода сети.

locale – изменение локализации устройства.

touchscreen – изменение сенсорного экрана.

keyboard – изменение типа клавиатуры устройства.

keyboardHidden – изменение доступности клавиатуры.

navigation – изменение механизма навигации устройства.

screenLayout – изменение компоновки экрана.

fontScale – изменение размера шрифта.

uiMode – изменение состояния устройства (устройство помещено в держатель).

orientation – изменилась ориентация экрана.

screenSize – при изменении ориентации экрана изменились пропорции экрана.

smallestScreenSize – при подключении устройства к внешнему дисплею изменился размер экрана.

Permission – список позволяет выбрать разрешение, которое должно иметь стороннее Android-приложение для вызова Activity-компонента, указывается значением атрибута android: permission.

Multiprocess – определяет значение атрибута android: multiprocess – если true, тогда Activity-компонент запускается в том же процессе, что и вызвавший его Android-компонент.

Process – определяет значение атрибута android: process, указывающего имя процесса, в котором запускается Activity-компонент.

Task affinity – определяет значение атрибута android: taskAffinity, указывающего имя задачи, в которой запускается Activity-компонент с флагом FLAG_ACTIVITY_NEW_TASK.

Allow task reparenting – определяет значение атрибута android: allowTaskReparenting – если true, тогда Activity-компонент может перемещаться из задачи, которая его запустила, в задачу переднего плана, с которой Activity-компонент имеет общее taskAffinity-значение, по умолчанию false.

Finish on task launch – определяет значение атрибута android: finishOnTaskLaunch – если true, тогда существующий экземпляр Activity-компонента уничтожается, если пользователь снова запускает его задачу, по умолчанию false.

Finish on close system dialogs – определяет значение атрибута android: finishOnCloseSystemDialogs – если true, тогда Activity-компонент уничтожается при закрытии текущего окна, например при нажатии кнопки HOME или при блокировке устройства.

Clear task on launch – определяет значение атрибута android: clearTaskOnLaunch – если true, тогда при перезапуске задачи из домашнего экрана, задача очищается от всех Activity-компонентов до данного корневого Activity-компонента, по умолчанию false.

No history – определяет значение атрибута android: noHistory – если true, тогда Activity-компонент удаляется из стека задачи и уничтожается, когда становится невидимым на экране, по умолчанию false.

Always retain task state – определяет значение атрибута android: alwaysRetainTaskState – если true, тогда Android-система не очищает задачу данного корневого Activity-компонента, а сохраняет ее последнее состояние, по умолчанию false.

State not need – определяет значение атрибута android: stateNotNeeded – если true, тогда метод onSaveInstanceState () Activity-компонента не вызывается, а его метод onCreate () в качестве аргумента всегда получает null, по умолчанию false.

Exclude from recents – определяет значение атрибута android: excludeFromRecents – если true, тогда Activity-компонент не появляется в списке недавно запущенных Activity-компонентов, который отображается при долгом нажатии на кнопку HOME устройства, по умолчанию false.

Enabled – определяет значение атрибута android: enabled – если false, тогда Android-система не может создавать экземпляры Activity-компонента, по умолчанию true.

Exported – определяет значение атрибута android: exported – если true, тогда Activity-компонент может запускаться другими Android-приложениями, если false, тогда Activity-компонент может запускаться только Android-компонентами своего приложения или другими модулями с общим sharedUserId-идентификатором.

Window soft input mode – кнопка Select позволяет выбрать значение атрибута android: windowSoftInputMode, определяющего как окно Activity-компонента взаимодействует с окном экранной клавиатуры:

stateUnspecified (по умолчанию) – состояние видимости или нет экранной клавиатуры выбирает Android-система.

stateUnchanged – экранная клавиатура сохраняет свое последнее состояние.

stateHidden – экранная клавиатура скрыта когда пользователь переходит вперед к Activity-компоненту.

stateAlwaysHidden – экранная клавиатура всегда скрыта.

stateVisible – экранная клавиатура появляется когда пользователь переходит вперед к Activity-компоненту.

stateAlwaysVisible – экранная клавиатура всегда появляется.

adjustUnspecified (по умолчанию) – будет окно Activity-компонента изменять свои размеры и включать в себя окно экранной клавиатуры или экранная клавиатура будет накладываться на окно Activity-компонента с его панорамированием определяет Android-система.

adjustResize – окно Activity-компонента изменяет свои размеры и включает в себя окно экранной клавиатуры.

adjustPan – экранная клавиатура накладывается на окно Activity-компонента, которое панорамируется на ввод.

adjustNothing – окно Activity-компонента не изменяет свои размеры и не панорамируется.

Immersive – определяет значение атрибута android: immersive – если true, тогда Activity-компонент не прерывается другими Activity-компонентами и уведомлениями.

Hardware accelerated – определяет значение атрибута android: hardwareAccelerated – если true, тогда включается аппаратное ускорение визуализации, по умолчанию false.

Ui options – определяет значение атрибута android: uiOptions, указывающее дополнительные опции GUI-интерфейса Activity-компонента с помощью двух значений: none (по умолчанию, нет дополнительных опций) и splitActionBarWhenNarrow (добавляет панель ActionBar, разделенную на секцию навигации и панель действий).

Parent activity name – определяет значение атрибута android: parentActivityName, указывающее имя класса Activity-компонента, являющегося логическим родителем данному Activity-компоненту и к которому будет осуществляться переход с помощью кнопки Up.

Тэг <intent-filter> (элемент Intent Filter) обеспечивает создание объекта android.content.IntentFilter, который указывает Android-системе какие неявные (не указывающие целевой класс) объекты android.content.Intent может обрабатывать Android-компонент. При выборе элемента Intent Filter кнопкой Add, во вкладке Application появляется раздел Attributes for Intent Filter, позволяющий определить атрибуты тэга <intent-filter> с помощью следующих полей:

Label – определяет значение атрибута android: label, указывающего отображаемую пользователю метку Android-компонента, запущенного соответствующим фильтру Intent-объектом.

Icon – определяет значение атрибута android: icon, указывающего значок Android-компонента, запущенного соответствующим фильтру Intent-объектом.

Logo – определяет значение атрибута android: logo, указывающего логотип панели ActionBar Android-компонента, запущенного соответствующим фильтру Intent-объектом.

Priority – определяет значение атрибута android: priority, указывающего приоритет обработки соответствующих фильтру Intent-объектов для случая, когда несколько Android-компонентов соответствуют Intent-объекту.

Дочерний тэг <action> (элемент Action) тэга <intent-filter> указывает действие Intent-объекта, поддерживаемое Android-компонентом. При выборе элемента Action кнопкой Add, во вкладке Application появляется раздел Attributes for Action, позволяющий определить атрибут тэга <action> с помощью списка Name, обеспечивающего выбор действия android.intent.action.* как значения атрибута android: name.

Дочерний тэг <category> (элемент Category) тэга <intent-filter> указывает, к какому типу принадлежит Android-компонент, чтобы соответствовать категории Intent-объекта. При выборе элемента Category кнопкой Add, во вкладке Application появляется раздел Attributes for Category, позволяющий определить атрибут тэга <category> с помощью списка Name, обеспечивающего выбор категории android.intent.category.* как значения атрибута android: name.

Дочерний тэг <data> (элемент Data) тэга <intent-filter> описывает, какие данные могут быть переданы Intent-объектом Android-компоненту. При выборе элемента Data кнопкой Add, во вкладке Application появляется раздел Attributes for Data, позволяющий определить атрибуты тэга <data> с помощью полей Mime type (атрибут android: mimeType указывает MIME-тип данных Intent-объекта), Scheme, Host, Port, Path, Path prefix, Path pattern (URI-адрес данных в формате scheme://host: port/path, атрибуты android: scheme, android: host, android: port, android: path, android: pathPrefix, android: pathPattern).

Тэг <meta-data> (элемент Meta Data) позволяет добавить дополнительные данные к Android-компоненту, доступ к которым можно получить программным способом:

ApplicationInfo ai = getPackageManager().getApplicationInfo(activity.getPackageName (), PackageManager.GET_META_DATA);

Bundle bundle = ai.metaData;

String myValue = bundle.getString («myKey»);

При выборе элемента Meta Data кнопкой Add, во вкладке Application появляется раздел Attributes for Meta Data, позволяющий определить атрибуты тэга <meta-data> с помощью полей Name (атрибут android: name определяет имя элемента метаданных), Value (атрибут android: value определяет значение элемента метаданных), Resource (атрибут android: resource указывает ссылку на ресурс).

Тэг <activity-alias> (элемент Activity Alias) обеспечивает запуск целевого Activity-компонента под другим именем, меткой, с другим Intent-фильтром. При выборе элемента Activity Alias кнопкой Add, во вкладке Application появляется раздел Attributes for Activity Alias, позволяющий определить атрибуты тэга <activity-alias> с помощью полей и списков:

Name (атрибут android: name указывает псевдоним для целевого Activity-компонента),

Target activity (атрибут android: targetActivity указывает имя целевого Activity-компонента),

Label (атрибут android: label определяет метку псевдонима),

Description (атрибут android: description определяет описание псевдонима),

Icon (атрибут android: icon указывает значок псевдонима),

Logo (атрибут android: logo определяет логотип панели ActionBar),

1
...
...
9