Какой файл определяет компоновку экрана
Дизайнер обложки Тимур Сергеевич Машнин
© Тимур Машнин, 2020
© Тимур Сергеевич Машнин, дизайн обложки, 2020
Создано в интеллектуальной издательской системе Ridero
Тест 1
Платформа Андроид основывается на операционной системе:
Архитектура платформы Андроид состоит из:
Приложений, фреймворка приложений, библиотек, среды выполнения Андроид, ядра Linux.
Приложений, библиотек, фреймворка библиотек, среды выполнения Андроид, ядра Linux.
Приложений, телефонного менеджера, библиотек, среды выполнения Андроид.
Приложений, телефонного менеджера, библиотек, ядра Linux.
Телефонного менеджера, библиотек, среды выполнения Андроид, ядра Linux.
Базовая единица графического интерфейса приложения Андроид это:
Ничего из ниже перечисленного.
Интерактивные элементы экрана.
Layout и Drawing.
View и Viewgroups.
Как называется Java виртуальная машина платформы Андроид:
Forth Virtual Machine
Juke Virtual Machine
Parrot Virtual Machine
Что представляет собой формат APK?
Андроид файл контента.
Андроид файл данных.
Андроид файл пакета.
Андроид файл ресурсов.
Ничего из выше перечисленного.
Файлы ресурсов Layout должны размещаться в папке:
В каталоге assets данные размещаются в формате:
Пустой процесс не должен иметь:
Активных компонентов приложения.
Инструмент bmgr используется для:
Получения резервной копии приложения.
Уничтожения архивных данных для конкретного приложения.
Все выше перечисленное.
Какие утверждения верны относительно сервисов и потоков?
Сервис запускается в отдельном потоке.
Для потока можно создать несколько экземпляров, а для сервиса нет.
Сервис не может использовать потоки для выполнения задач.
В чем разница между сервисом и асинхронной задачей?
AsyncTask зависит от контекста Activity, из которой был запущен, а сервис нет.
И AsyncTask и сервис выполняются в UI thread.
И AsyncTask и сервис имеют доступ к UI thread.
В чем разница между потоком и асинхронной задачей?
AsyncTask имеет доступ к UI потоку, а поток нет. Для доступа потока к UI потоку может использоваться класс Handler.
AsyncTask представляет общий фреймворк потоков.
И AsyncTask и потоки предназначены для выполнения длительных задач.
Запускается при вызове foreground ().
Может или нет обеспечивать уведомление в панель статуса.
Уведомление не может быть убрано, пока сервис не остановится или не перестанет быть foreground.
A1, A2, A3 и A4 являются активностями, которые были вызваны, используя намерения. При том Backstack A1-A4-A2 – A3. Активность A4 вызывает A2 с помощью флага намерения FLAG_ACTIVITY_NO_HISTORY. Когда будет вызван метод finish () активности A3, какая активность останется работающей?
A1, A2, A3 и A4 являются активностями, которые были вызваны, используя намерения. При том Backstack A1-A2-A4 – A3. Активность A2 вызывает A4 с помощью флага намерения FLAG_ACTIVITY_CLEAR_TOP. Когда будет вызван метод finish () активности A3, какая активность останется работающей?
A1, A2, A3 и A4 являются активностями, которые были вызваны, используя намерения. При том Backstack A1-A2-A3-A4. Активность A3 вызывает A4 без флага намерения. Когда будет вызван метод finish () активности A4, какая активность останется работающей?
Плюс (+) в выражении android:id mh_toc_393">Тест 2
Для чего предназначено файловое расширение. apk?
Application Program Kit
Android Proprietary Kit
Когда вы распространяете коммерческое приложение, вы хотите подписать его своим собственным ключом.
Как Google проверяет на вирусы в Android Market?
Каждое новое приложение сканируется антивирусным сканером.
Пользователи сообщают о вредоносном программном обеспечении в Google.
Сотрудники Google проверяют каждое новое приложение.
Отдельная компания контролирует Android Market для Google.
Какие утверждения не верны относительно IntentService?
IntentService не может обрабатывать несколько запросов одновременно, он обрабатывает их последовательно, в порядке очереди.
Метод createPendingResult активности это способ получения данных из IntentService.
Класс ResultReceiver это способ получения данных из IntentService.
Объект IBinder обеспечивает доступ к экземпляру IntentService.
Класс Messenger обеспечивает способ обмена данными между активностью и IntentService.
Что не является одним из трех основных компонентов APK?
Исполняемый код Dalvik.
Как называется программа, конвертирующая Java byte код в Dalvik byte код?
Android Interpretive Compiler (AIC)
Mobile Interpretive Compiler (MIC)
Android приложения должны быть подписаны:
После того как они установлены
Прежде, чем они установлены
В течение двух недель после установки
Библиотеки AWT и Swing были исключены из набора библиотек Android.
R. java файл предназначен для редактирования ресурсов проекта.
Что содержится в файле manifest xml?
Разрешения, которые требует приложение.
Список строк, используемых в приложении.
Все другие варианты.
Что содержит файл Layout xml?
Ориентации и макеты, которые определяют то, отображает дисплей.
Разрешения, необходимые приложению.
Строки, используемые в приложении.
Код, который компилируется для запуска приложения.
Эмулятор Android устройства:
Выполняет тот же код, как и физическое устройство, вплоть до машинного уровня.
Является скорее симулятором и выступает в качестве виртуальной машины для Android устройства.
Выполняет тот же код, как и физическое устройство, однако на более высоком уровне.
Исходный код Java напрямую выполняется в Android устройстве.
Android эмулятор идентичен работающему реальному Android устройству, за исключением эмуляции:
Эмулятор может имитировать все аспекты смартфона.
Чем симулятор отличается от эмулятора?
Эмуляторы используются чтобы играть в старые игры, симуляторы используются для разработки программного обеспечения
Эмулятор поставляется с Android SDK, а сторонних симуляторов нет.
Эмулятор может виртуализировать датчики и другие аппаратные средства, а симулятор не может.
Эмулятор имитирует выполнение машинного двоичного кода, а не симуляцию поведения кода на более высоком уровне.
R файл генерируется:
В ручном режиме
Ничего из вышеперечисленного
Для создания эмулятора вам необходим инструмент AVD. Как он расшифровывается?
Android Virtual Display
Android Virtual Device
Active Virtual Device
Application Virtual Display
Android SDK поставляется с эмулятором.
Файл ________ определяет компоновку экрана.
Манифест объясняет, из чего приложение состоит и склеивает все вместе.
Android Software Development Kit (SDK) это все, что требуется для разработки Android приложений.
Что является движущей силой в Android приложениях и что в конечном счете преобразуется в исполняемый Dalvik код?
Java исходный код.
При разработке Android приложений, их можно протестировать на:
Эмуляторе, включенном в Android SDK.
Физическом Android устройстве.
Все выше перечисленное.
Как можно проверить, работает ли уже активность, перед ее запуском?
NEW_TASK_LAUNCH в вызове метода startActivity ().
FLAG_ACTIVITY_NEW_TASK в вызове метода startActivity ().
FLAG_ACTIVITY_SINGLE_TOP в вызове метода startActivity ().
Используя <category android:name=«android. intent. category. LAUNCHER»/>.
Какая команда не может быть выполнена функцией Android эмуляции скорости сети?
network speed gsm
network speed 14.4 80
network speed 3g
network speed edge
Какое из следующих утверждений является неправильным для объяснения Android SDK Manager и AVD Manager?
Они предоставляются с версии 1.6 SDK. До версии 1.5 был AVD менеджер, но ему не хватало функций управления SDK.
Вы можете создавать и запускать AVD, и при запуске вы можете удалить пользовательские данные до этого момента.
Команда «android» может быть использована, если каталог "<SDK install folder> /tools» добавлен в путь команды.
Средства разработки, которые могут быть загружены из Android SDK Manager и AVD Manager, это SDK Android-платформы, NDK-платформа, эмулятор изображений и USB-драйверы для телефонов.
Что из следующего является правильным объяснением типа и порядка событий, сгенерированных после долгого нажатия и отпускания кнопки? (предположим, что нет потребления событий с помощью прослушивателя событий).
2 события будут выдаваться в следующем порядке:
OnTouch событие (MotionEvent. ACTION_SELECT)
Следующее событие будет выдаваться только один раз:
3 события будут выдаваться в следующем порядке:
OnTouch событие (MotionEvent. ACTION_DOWN)
OnTouch событие (MotionEvent. ACTION_UP)
4 события будут выдаваться в следующем порядке:
OnTouch событие (MotionEvent. ACTION_DOWN)
OnTouch событие (MotionEvent. ACTION_UP)
Какое из следующих утверждений не верно о ProgressDialog?
ProgressDialog наследует от класса AlertDialog.
ProgressDialog может быть установлен со стилями: STYLE_HORIZONTAL и
К ProgressDialog можно применить пользовательский XML макет с помощью метода setContentView (…).
ProgressDialog можно свободно настроить для использования Drawable класса для отображения его в качестве прогресс бара.
Какое из следующих утверждений верно для Traceview?
Отображает графический журнал выполнения задачи.
Отображает графически занятие памяти и журнал релиза.
Отображает графически стек вызовов.
Показывает графически состояние UI иерархии.
Какой конфигурационный файл содержит разрешение на использование GPS?
Какой из следующих способов является правильным для добавления разрешения в приложение?
Добавление тэга <uses-permission> в тэг <manifest> файла AndroidManifest. xml.
Добавление тэга <add-permission> в тэг <manifest> файла AndroidManifest. xml.
Добавление тэга <uses-permission> в тэг <application> файла AndroidManifest. xml.
Добавление тэга <permission> в тэг <application> файла AndroidManifest. xml.
Какое из следующих утверждений верно о SQLite?
Это объектная база данных.
Она имеет формат клиент-сервер.
Можно создавать и получать доступ к базе данных с помощью SQLOpenHelper.
Она может быть доступна в других приложениях через ContentProvider.
Где лучше всего разместить в приложении текстовый файл, используемый для чтения в качестве ресурса?
Какое из следующих утверждений не верно о DDMS?
Вы можете просмотреть список запущенных потоков, и выбрать один, чтобы проверить его трассировку стека.
Вы можете использовать его, чтобы получить скриншоты дисплея.
Можно принудительно выполнить сборку мусора и проверить текущий статус использования динамической памяти.
Вы можете моделировать скорость сети и ограничения пропускной способности.
С точки зрения производителя мобильных устройств, какие преимущества у Android?
Помимо некоторых специфических драйверов, Android обеспечивает все, чтобы устройство работало.
Android обеспечивает лучшую работу устройства.
Android позволяет устройствам конкурировать с iPhone от Apple.
Android позволяет пользователям создавать приложения для получения доходов.
Какой факт является забавным о запуске Android?
Платформу хотели назвать НЛО.
Первая версия Android была выпущена без наличия телефона на рынке.
Главной целью Android была разблокировка дверей автомобиля, когда вы оставили ключи внутри него.
Android хотели сделать с закрытым кодом, чтобы сделать больше денег для компании.
Когда была создана Open Handset Alliance?
Устройство с установленной операционной системой Android необходимо для разработки приложений для Android.
Android старается _____ низкоуровневые компоненты, такие как программный стек, с интерфейсами, так чтобы кодом конкретного производителя можно было легко управлять.
Google лицензирует некоторые проприетарные приложения.
Какая часть платформы Android с открытым исходным кодом?
Низкоуровневые модули Linux.
Все эти ответы. Весь стек платформы с открытым исходным кодом.
Когда Google купил Android?
Релизам Android начиная с 1.5 давались прозвища происходящие из?
Нечто что начинается с w/ "A".
Что не является названием версии Andriod?
Android не делает какие-либо предположения о размере экрана, разрешении или микросхемах устройства.
Какая версия Android имела самую большую долю рынка в январе 2011?
Какая часть кода, используемая Android не является открытой?
Платформа Android собрана на основе Java Micro Edition (J2ME).
Какая из перечисленных не является нативной библиотекой Android?
Android базируется на Linux из следующих соображений:
Все выше перечисленное.
Какая операционная система используется как основа Android стека?
В каком году стартовала разработка на виртуальной машине Dalvik?
Какая разница между распространением приложений для Android устройств и приложений для других устройств?
Приложения распространяются только Apple App Store.
Приложения распространяются множеством поставщиков с различными политиками приложений.
Приложения распространяются множеством поставщиков с одной и той же политикой приложений.
Приложения распространяются только Android Market.
При разработке для Android OS, Java byte код компилируется в:
Dalvik application код
Dalvik byte код
Тест 2
Для чего предназначено файловое расширение. apk?
Application Program Kit
Android Proprietary Kit
Когда вы распространяете коммерческое приложение, вы хотите подписать его своим собственным ключом.
Как Google проверяет на вирусы в Android Market?
Каждое новое приложение сканируется антивирусным сканером.
Пользователи сообщают о вредоносном программном обеспечении в Google.
Сотрудники Google проверяют каждое новое приложение.
Отдельная компания контролирует Android Market для Google.
Какие утверждения не верны относительно IntentService?
IntentService не может обрабатывать несколько запросов одновременно, он обрабатывает их последовательно, в порядке очереди.
Метод createPendingResult активности это способ получения данных из IntentService.
Класс ResultReceiver это способ получения данных из IntentService.
Объект IBinder обеспечивает доступ к экземпляру IntentService.
Класс Messenger обеспечивает способ обмена данными между активностью и IntentService.
Что не является одним из трех основных компонентов APK?
Исполняемый код Dalvik.
Как называется программа, конвертирующая Java byte код в Dalvik byte код?
Android Interpretive Compiler (AIC)
Mobile Interpretive Compiler (MIC)
Android приложения должны быть подписаны:
После того как они установлены
Прежде, чем они установлены
В течение двух недель после установки
Библиотеки AWT и Swing были исключены из набора библиотек Android.
R. java файл предназначен для редактирования ресурсов проекта.
Что содержится в файле manifest xml?
Разрешения, которые требует приложение.
Список строк, используемых в приложении.
Все другие варианты.
Что содержит файл Layout xml?
Ориентации и макеты, которые определяют то, отображает дисплей.
Разрешения, необходимые приложению.
Строки, используемые в приложении.
Код, который компилируется для запуска приложения.
Эмулятор Android устройства:
Выполняет тот же код, как и физическое устройство, вплоть до машинного уровня.
Является скорее симулятором и выступает в качестве виртуальной машины для Android устройства.
Выполняет тот же код, как и физическое устройство, однако на более высоком уровне.
Исходный код Java напрямую выполняется в Android устройстве.
Android эмулятор идентичен работающему реальному Android устройству, за исключением эмуляции:
Эмулятор может имитировать все аспекты смартфона.
Чем симулятор отличается от эмулятора?
Эмуляторы используются чтобы играть в старые игры, симуляторы используются для разработки программного обеспечения
Эмулятор поставляется с Android SDK, а сторонних симуляторов нет.
Эмулятор может виртуализировать датчики и другие аппаратные средства, а симулятор не может.
Эмулятор имитирует выполнение машинного двоичного кода, а не симуляцию поведения кода на более высоком уровне.
R файл генерируется:
В ручном режиме
Ничего из вышеперечисленного
Для создания эмулятора вам необходим инструмент AVD. Как он расшифровывается?
Android Virtual Display
Android Virtual Device
Active Virtual Device
Application Virtual Display
Android SDK поставляется с эмулятором.
Файл ________ определяет компоновку экрана.
Манифест объясняет, из чего приложение состоит и склеивает все вместе.
Android Software Development Kit (SDK) это все, что требуется для разработки Android приложений.
Что является движущей силой в Android приложениях и что в конечном счете преобразуется в исполняемый Dalvik код?
Video mode — количество строк на экране: 25, 33 или 50.
Относительно режима '33 строки' см. также 'Multi-Edit 7.0 — работа с русским языком'.
- AltControlShift 2 — переключиться в режим 2 5 строк
- AltControlShift 3 — переключиться в режим 3 3 строки
- AltControlShift 5 — переключиться в режим 5 0 строк
Exploding boxes — плавное раскрытие диалоговых окон.
Лучше всего это видно в полноэкранном DOS-режиме.
- 7 / Home — перейти в начало файла
- 8 / Вверх — двигать экран, перемещаясь вверх по тексту
- 9 / Pg Up — перейти в начало предыдущей страницы (или в начало файла)
- 5 / Центр — текущую строку сделать центром окна (также см. 'Дополнительно')
- 6 / Вправо — перейти к началу следующего слова
- 2 / Вниз — двигать экран, перемещаясь вниз по тексту
- 3 / Pg Dn — перейти в начало следующей страницы (или в конец файла)
- Control и '-' на цифровой клавиатуре — текущую строку сделать началом окна
- Control и '+' на цифровой клавиатуре — текущую строку сделать концом окна
F-key labels delay — задержка перед обновлением строки с командами, назначенными на F-клавиши,
если нажата клавиша-модификатор Alt, Control или Shift. Если клавиша-модификатор отпущена раньше,
строка на обновляется. Задержка указывается в десятых долях секунды.Замечание: это относится только к обновлению строки с названиями команд. Сами команды
никак не зависят от этой строки (её может и не быть на экране совсем) и работают 'сразу'.Компоновка экрана — это то, какие элементы интерфейса есть на экране и где именно они отображаются.
В Multi-Edit есть возможность определить две компоновки экрана и установить одну из них как вариант
по умолчанию. Для каждой компоновки есть возможность выбрать, какие элементы оформления экрана
из возможных в эту компоновку включаются.Screen layouts — определяет вариант компоновки, который будет использоваться по умолчанию.
Относительно компоновки 'B' см. также 'Multi-Edit 7.0 — чтение'.- AltControlShift A — переключиться на компоновку A
- AltControlShift B — переключиться на компоновку B
Настройки — 'Colors' / 'Цвета'
SergeCpp » 22 ноя 2011, 18:51
В Multi-Edit есть несколько цветовых наборов, между которыми можно переключаться.
Для переключения на выбранный набор нажимаем Enter (кнопка Load).
Если настройки редактора не сохранить (см. 'Настройки — предварительные сведения'),
то переключение набора действует до выхода из редактора.Изначально в редакторе установлены цвета из цветового набора 'Work B'.
Можно создать новый цветовой набор, нажав Ins (кнопка Create). Новый набор создаётся
из текущих цветов элементов интерфейса (см. 'Отдельные элементы' ниже).Цветовой набор можно удалить, нажав Del (кнопку Delete) на выбранном к удалению наборе.
Удалится только набор из списка, назначенные цвета останутся без изменения.Цветовые наборы хранятся в файле CONFIG.DB. Изменения в списке наборов (создание, удаление)
сохраняются независимо от того, были ли сохранены настройки редактора.
Осторожно! Открытие файла CONFIG.DB в самом редакторе Multi-Edit
может быть опасно, так как с этим файлом Multi-Edit работает самостоятельно, 'скрытым образом'
и файл этот открыт 'скрытым образом' почти всегда. (При необходимости можно сделать копию
файла CONFIG.DB, например, CONFIG_.DB и открывать эту копию.)Замечание: первоначальный файл CONFIG.DB при необходимости можно восстановить
( предварительно выйдя из редактора ) из каталога ME\BACKUP.Можно изменять цвета и отдельных элементов интерфейса. Если настройки редактора не сохранить
(см. 'Настройки — предварительные сведения'), то изменение цвета действует до выхода из редактора.Изменённые настройки можно дополнительно сохранить, создав для них свой цветовой набор.
Тогда к ним можно будет вернуться после изменения (например, после установки других настроек).
Последний раз редактировалось SergeCpp 27 ноя 2011, 19:01, всего редактировалось 1 раз.
9. Подсветка языков программирования важнее подсветки текущей строки.
Включить/выключить — Enter на этой настройке.Горячие клавиши Multi-Edit 7.0
apfusov » 25 ноя 2011, 11:39
Подскажите пожалуйста, как распечатать в файл (нет принтера работающего через LPT) таблицу горячих клавиш из настроек ME. У меня при нажатии на печать (tools-customize-keyboard-print) программа полностью зависает .Создание файла со списком команд Multi-Edit 7.0
SergeCpp » 25 ноя 2011, 12:59
Для создания файла со списком команд Multi-Edit предпринимаем следующие действия:
Multi-Edit 7.0 — цвета DOS
SergeCpp » 25 ноя 2011, 16:26
В Multi-Edit есть возможность настройки цветов DOS — 16-цветной DOS-палитры
(Multi-Edit работает в 16-цветном текстовом режиме DOS).Настройка действует и на цвета в DOS-окне Windows 9x
(и, разумеется, на цвета в полноэкранном режиме DOS).В NT-системах (NT, 2000, XP и т.д.) DOS-окно устроено по-другому,
там эта настройка может и не действовать (в полноэкранном режиме DOS,
скорее всего, действовать будет).При работе в DOS эта настройка сохраняется и после выхода из Multi-Edit.
При работе в оконном или полноэкранном режиме DOS системы Windows
настройка тоже сохраняется после выхода из Multi-Edit до тех пор,
пока работает эта DOS-сессия (например, если Multi-Edit запускался
из командной строки).В настоящее время эта настройка отсутствует в каком-либо меню или диалоге редактора,
а также не вызывается нажатием клавишной комбинации. Запуск настройки производится
только путём запуска макрокоманды (в диалоге 'Run macro').r — красная компонента цвета.
g — зелёная компонента цвета.
b — синяя компонента цвета.Изменить можно то значение, на котором находится курсор.
Значения шестнадцатеричные, от 0 до 3F.
15. Нажав Enter, запустили макрокоманду настройки цветов DOS.Хорошая, просто и понятно написанная небольшая книга по теме:
Григорьев В.Л. Видеосистемы ПК фирмы IBM. — М.: Радио и связь, 1993.Настройки — 'Keyboard' / 'Команды и клавиши'
SergeCpp » 28 ноя 2011, 15:24
Некоторые команды отсутствуют в списке (см. пример в 'дополнительно', о некоторых других
полезных командах будет рассказано со временем), их можно при желании добавить самостоятельно.Совсем небольшое число клавиш, например, Пробел, некоторые команды в окне энциклопедии
(см. 'Multi-Edit 7.0 — поиск в энциклопедиях и словарях') настраивается без использования
списка команд. Это объясняется тем, что действия таких клавиш определяются типом файла,
находящегося в окне (Пробел) или специфичностью окна (просмотр энциклопедии).Не для всех команд в списке назначены клавишные комбинации. Это объясняется лишь
соображениями разумности, ограничений тут почти нет (см. ниже, пункт 10).Select new keymap — выбор таблицы команд и клавиш. В оригинальной версии Multi-Edit
есть несколько дополнительных таблиц со списком команд и клавиш, эмулирующих поведение
других редакторов (Brief, Wordstar). В этой модификации Multi-Edit дополнительных таблиц нет.Команды и клавишные комбинации хранятся в файле CUA.DB. Изменения команд
сохраняются в этом файле независимо от того, были ли сохранены настройки редактора.
Сохранение же настроек необходимо для того, чтобы изменения команд учитывались в дальнейшем
(см. 'Multi-Edit 7.0 — описание файлов редактора, архив ME.RAR', описание файла CUA.DB).Замечание: первоначальный файл CUA.DB при необходимости можно восстановить
( предварительно выйдя из редактора ) из каталога ME\BACKUP.Добавление команды и назначение клавишной комбинации
Диалог создания команды имеет следующие поля:
5. Подтверждаем введёные изменения, нажав Enter. Команда создана.Передвижение команды в списке
Удалить команду можно, нажав Del.
Android -приложения могут быть простыми и сложными, но строение приложений всегда будет одинаковым. Есть обязательные элементы приложений, а есть опциональные, которые используются по мере необходимости. Android - приложение состоит из нескольких основных компонентов: манифест приложения, набор различных ресурсов и исходный код программы .
Следующая таблица демонстрирует обязательные и возможные составляющие структуры Android -приложения:
1.5.1. Файл манифеста AndroidManifest.xml
Файл манифеста AndroidManifest.xml предоставляет системе основную информацию о программе. Каждое приложение должно иметь свой файл AndroidManifest.xml. Редактировать файл манифеста можно вручную, изменяя XML-код или через визуальный редактор Manifest Editor, который позволяет осуществлять визуальное и текстовое редактирование файла манифеста приложения.
- описывает компоненты приложения – Activities, Services, Broadcast receivers и Content providers;
- содержит список необходимых разрешений для обращения к защищенным частям API и взаимодействия с другими приложениями;
- объявляет разрешения, которые сторонние приложения обязаны иметь для взаимодействия с компонентами данного приложения;
- объявляет минимальный уровень API Android, необходимый для работы приложения;
- перечисляет связанные библиотеки.
Корневым элементом манифеста является <manifest> . Помимо данного элемента обязательными элементами являются теги <application> и <uses-sdk>. Элемент <application> является основным элементом манифеста и содержит множество дочерних элементов, определяющих структуру и работу приложения. Порядок расположения элементов, находящихся на одном уровне, произвольный. Все значения устанавливаются через атрибуты элементов. Кроме обязательных элементов, упомянутых выше, в манифесте по мере необходимости используются другие элементы. Перечислим некоторые из них:
- <manifest> является корневым элементом манифеста.
По умолчанию Eclipse создает элемент с четырьмя атрибутами:
xmlns:android определяет пространство имен Android.
package определяет уникальное имя пакета приложения.
android:versionCode указывает на внутренний номер версии.
android:versionName указывает номер пользовательской версии.
Наиболее распространненные разрешения:
INTERNET – доступ к интернету
READ_CONTACTS – чтение (но не запись) данных из адресной книги пользователя
WRITE_CONTACTS – запись (но не чтение) данных в адресную книгу пользователя
RECEIVE_SMS – обработка входящих SMS
ACCESS_FINE_LOCATION – точное определение местонахождения при помощи GPS
android:minSdkVersion определяет минимальный уровень API, требуемый для работы приложения. Система Android будет препятствовать тому, чтобы пользователь установил приложение, если уровень API системы будет ниже, чем значение, определенное в этом атрибуте.
android:maxSDKVersion позволяет определить самую позднюю версию, которую готова поддерживать программа.
targetSDKVersion позволяет указать платформу, для которой разрабатывалось и тестировалось приложение.
android.hardware.camera – требуется аппаратная камера.
android.hardware.camera.autofocus – требуется камера с автоматической фокусировкой.
1.5.2. Ресурсы
В Android принято хранить такие объекты, как изображения, строковые константы, цвета, анимацию, стили и тому подобное, за пределами исходного кода. Система поддерживает хранение ресурсов во внешних файлах. Внешние ресурсы легче поддерживать, обновлять и редактировать.
В основном, ресурсы хранятся в виде XML-файлов в каталоге res с подкаталогами values, drawable-ldpi, drawable-mdpi, drawable-hdpi, layout. Но также бывают еще два типа ресурсов: raw и assets.
Для удобства система создает идентификаторы ресурсов и использует их в файле R.java (класс R, который содержит ссылки на все ресурсы проекта), что позволяет ссылаться на ресурсы внутри кода программы. Статический класс R генерируется на основе заданных ресурсов и создается во время компиляции проекта. Так как файл R генерируется автоматически, то нет смысла его редактировать вручную, потому что все изменения будут утеряны при повторной генерации.
В общем виде ресурсы представляют собой файл (например, изображение) или значение (например, заголовок программы), связанные с создаваемым приложением. Удобство использования ресурсов заключается в том, что их можно изменять без повторной компиляции или новой разработки приложения.
Самыми распространенными ресурсами являются, пожалуй, строки (string), цвета (color) и графические рисунки (bitmap).
В следующей таблице перечислены основные ресурсы Android-приложения:
Помимо изображений в каталоге res/drawable могут храниться ресурсы простых геометрических фигур. Вот лишь некоторые из возможных атрибутов:
- android:shape задает тип фигуры: rectangle (прямоугольник), oval (овал), line (линия), ring (окружность);
- <corners> создает закругленные углы для прямоугольника;
- <gradient> задает градиентную заливку для фигуры; в Android можно создавать три типа градиентов: Linear (линейный), Radial (радиальный) и Sweep (разверточный);
- <size> задает размеры фигуры;
- <solid> задает сплошной цвет для фигуры.
Анимация в Android бывает двух видов:
- Frame Animation – кадровая анимация, традиционная анимация при помощи быстрой смены последовательных изображений, как на кинопленке.
- Tween Animation – анимация преобразований может выполняться в виде ряда простых преобразований: изменение позиции (класс TranslateAnimation), размера (ScaleAnimation), угла вращения (RotateAnimation) и уровня прозрачности (AlphaAnimation). Команды анимации определяют преобразования, которые необходимо произвести над объектом. Преобразования могут быть последовательными или одновременными. Последовательность команд анимации определяется в XML-файле (предпочтительно) или в программном коде.
В Android имеется еще один каталог, в котором моrут храниться файлы, предназначенные для включения в пакет – /assets . Это не ресурсы, а просто необработанные файлы. Этот каталог находится на том же уровне, что и /res. Для файлов, располагающихся в /assets, в R.java не генерируются идентификаторы ресурсов. Для их считывания необходимо указать путь к файлу. Путь к файлу является относительным и начинается с /assets. Этот каталог, в отличие от подкаталога res/, позволяет задавать произвольную глубину подкаталогов и произвольные имена файлов.
1.5.3. Разметка
В Android-приложениях, пользовательский интерфейс построен на View и ViewGroup объектах. Класс ViewGroup является основой для подкласса Layout (разметка).
Разметка (также используются термины компоновка или макет) хранится в виде XML-файла в папке /res/layout . Это сделано для того, чтобы отделить код от дизайна, как это принято во многих технологиях (HTML и CSS, Visual Studio и Expression Blend). Кроме основной компоновки для всего экрана, существуют дочерние компоновки для группы элементов. По сути, компоновка – это некий визуальный шаблон для пользовательского интерфейса приложения, который позволяет управлять элементами, их свойствами и расположением. В своей практике вам придется познакомиться со всеми способами размещения.
Android-плагин для Eclipse включает в себя специальный редактор для создания разметки двумя способами. Редактор имеет две вкладки: одна позволяет увидеть, как будут отображаться элементы управления, а вторая – создавать XML-разметку вручную.
Создавая пользовательский интерфейс в XML-файле, можно отделить дизайн приложения от программного кода. Можно изменять пользовательский интерфейс в файле разметки без необходимости изменения программного кода. Например, можно создавать XML-разметки для различных ориентаций экрана мобильного устройства (portrait, landscape), размеров экрана и языков интерфейса. Впрочем, элементы интерфейса можно создавать и программно, когда это необходимо.
Каждый файл разметки должен содержать только один корневой элемент компоновки, который должен быть объектом View или ViewGroup. Внутри корневого элемента можно добавлять дополнительные объекты разметки или дочерние элементы интерфейса, чтобы постепенно формировать иерархию элементов, которую определяет создаваемая разметка.
Существует несколько стандартных типов разметок:
- FrameLayout является самым простым типом разметки. Обычно это пустое пространство на экране, которое можно заполнить только дочерним объектом View или ViewGroup . Все дочерние элементы FrameLayout прикрепляются к верхнему левому углу экрана. В разметке FrameLayout нельзя определить различное местоположение для дочернего объекта View. Последующие дочерние объекты View будут просто рисоваться поверх предыдущих представлений, частично или полностью затеняя их, если находящийся сверху объект непрозрачен
- LinearLayout выравнивает все дочерние объекты в одном направлении – вертикально или горизонтально. Направление задается при помощи атрибута ориентации android:orientation . Все дочерние элементы помещаются в стек один за другим, так что вертикальный список представлений будет иметь только один дочерний элемент в строке независимо от того, насколько широким он является. Горизонтальное расположение списка будет размещать элементы в одну строку с высотой, равной высоте самого высокого дочернего элемента списка.
- TableLayout позиционирует свои дочерние элементы в строки и столбцы. TableLayout не отображает линии обрамления для рядов, столбцов или ячеек. TableLayout может иметь ряды с разным количеством ячеек. При формировании разметки таблицы некоторые ячейки при необходимости можно оставлять пустыми. TableLayout удобно использовать, например, при создании логических игр типа Судоку, Крестики-Нолики и тому подобных.
- RelativeLayout позволяет дочерним элементам определять свою позицию относительно родительского представления или относительно соседних дочерних элементов.
Все описываемые разметки являются подклассами ViewGroup и наследуют свойства, определенные в классе View.
Разметки ведут себя как элементы управления, и их можно группировать. Расположение элементов управления может быть вложенным. Например, можно использовать RelativeLayout в LinearLayout и так далее. Однако, слишком большая вложенность элементов управления вызывает проблемы с производительностью.
Читайте также:
- 3 / Pg Dn — перейти в начало следующей страницы (или в конец файла)
- 6 / Вправо — перейти к началу следующего слова
- 9 / Pg Up — перейти в начало предыдущей страницы (или в начало файла)
- 8 / Вверх — двигать экран, перемещаясь вверх по тексту