Android для разработчиков

Android для разработчиков
Автор: Дейтел П., Дейтел X., Дейтел Э.
Год: 2015
ISBN: 978-5-496-01517-2
Страниц: 384
Язык: Русский
Формат: PDF
Размер: 10 Мб

Download

Более миллиона человек во всем мире воспользовались книгами Дейтелов, чтобы освоить Java, С#, C++, С, веб-программирование, JavaScript, XML, Visual Basic, Visual C++, Perl, Python и другие языки программирования.
Эта книга, выходящая уже во втором издании, даст вам все, что нужно, для начала разработки приложений для Android и быстрой публикации их на Google Play. Авторы используют приложение-ориентированный подход, при котором описание каждой технологии рассматривается на примере 16 полностью протестированных приложений для Android. Кроме описания процесса создания приложений, в книге дано пошаговое руководство по размещению ваших приложений на Google Play и примеры успешных публикаций. Новое издании книги полностью обновлено и содержит информацию о работе с Android 4.3 и 4.4. разработке на Eclipse и новом Android Studio.

+

Android 4.3 и 4.4 SDK

В примерах книги использовались пакеты Android SDK версий 4.3 и 4.4. На момент написания этой главы версия 4.4 включалась в комплект поставки Android SDK/ADT и Android Studio. Вам также стоит установить Android 4.3 (и все остальные версии, которые вы захотите поддерживать в своих приложениях). Чтобы установить другие версии платформы Android, выполните следующие действия (пропустите пункты 1 и 2, если среда Eclipse уже открыта).

  1. Откройте Eclipse. В зависимости от платформы значок может иметь вид или .
  2. Когда на экране появится окно Workspace Launcher, нажмите OK.
  3. Если в Mac OS X появится окно с сообщением «Could not find SDK folder ‘/Users/YourAccount/android-sdk-macosx/’», нажмите Open Preferences, затем Browse… и выберите папку sdk в том месте, где была выполнена распаковка Android SDK/ADT.
  4. Выполните команду Window → Android SDK Manager; открывается окно Android SDK Manager (рис. 0.1).
  5. В столбце Name перечислены все инструменты, версии платформ и дополнительные средства (например, API для взаимодействия с сервисами Google — такими, как Maps), которые вы можете установить в своей системе. Снимите флажок
    Installed. Если в списке Packages присутствуют категории Tools, Android 4.4 (API19), Android 4.3 (API18) и Extras, убедитесь в том, что эти пакеты помечены, и нажмите Install # packages… (# — количество выбранных пакетов), чтобы открыть окно Choose Packages to Install. Многие пакеты в категории Extras не обязательны. В этой книге вам понадобится библиотека Android Support Library и службы Google Play. Пакет Google USB Driver необходим для пользователей Windows, желающих
    тестировать приложения на устройствах Android.
  6. В окне Choose Packages to Instal прочитайте лицензионные соглашения по каждому пакету. Завершив чтение, установите переключатель Accept License и нажмите Install. Состояние процесса установки отображается в окне Android SDK Manager.

Android 4.4 (KitKat)

Версия Android 4.4 KitKat, выпущенная в октябре 2013 года, включает ряд усовершенствований, обеспечивающих работу операционной системы на любых устройствах Android, включая старые устройства с ограниченной памятью, особенно популярные в развивающихся странах.

Переход большего количества пользователей на KitKat сократит «фрагментацию» версий Android на рынке. Фрагментация создавала проблемы для разработчиков, которые были вынуждены проектировать приложения для разных версий операционной системы или ограничивать круг потенциальных пользователей, разрабатывая приложение для конкретной версии операционной системы.

Android KitKat также включает усовершенствования безопасности и доступности, улучшенные графические и мультимедийные возможности, средства анализа памяти и т. д. В табл. 1.8 перечислены некоторые из ключевых новых возможностей KitKat. За полным списком обращайтесь по адресу developer.android.com/about/versions/kitkat.html.

Загрузка приложений из Google Play

На время написания этой книги в Google Play было доступно более миллиона приложений, и это число быстро росло. Приложения можно загрузить из приложения Play Store, установленном на устройстве. Вы также можете войти в учетную запись Google Play по адресу: play.google.com через браузер, а затем выбрать устройство Android, на котором должно быть установлено приложение. Приложение загружается на устройство через подключение WiFi или 3G/4G. В главе 9 будут рассмотрены другие магазины, предоставляющие приложения (бесплатно или за деньги), цены и т. д.

Запуск Doodlz App на планшетном AVD

Чтобы протестировать приложение в планшетном AVD, сначала запустите AVD, как описано на шаге 4 в разделе 1.9.1, но вместо Nexus 4 AVD выберите Nexus 7 AVD. Затем щелкните правой кнопкой мыши на проекте Doodlz в окне Eclipse Package Explorer и выберите команду Run As → Android Application. Если при запуске приложения запущено сразу несколько AVD, появляется диалоговое окно Android Device Chooser (рис. 1.16), в котором выбирается AVD для установки и выполнения приложения. В нашей системе работали сразу два AVD для Nexus 4 и Nexus 7, поэтому были доступны два виртуальных устройства Android для запуска приложения. Выберите Nexus 7 AVD и нажмите OK. Это приложение запускается в портретной ориентации (ширина меньше высоты) на телефонах и малых планшетах. Если запустить приложение на AVD большого планшета (или большом планшетном устройстве), то оно запустится в альбомной ориентации (ширина больше высоты). На рис. 1.17 показано приложение в Nexus 7 AVD. Если высота AVD слишком велика для вашего экрана, вы можете изменить ориентацию AVD нажатием Ctrl+F12 (на Mac используется комбинация fn+control+F12). На некоторых клавиатурах клавиша Ctrl имеет пометку Control.

Создание успешных Android-приложений

Сейчас в Google Play доступно свыше 800 000 приложений. Как создать приложение Android, которое пользователи найдут, загрузят, будут использовать и рекомендовать другим? Подумайте, что сделает ваше приложение интересным, полезным,
привлекательным и долгоживущим. Эффектное название, привлекательный значок и заманчивое описание могут привлечь людей к вашему приложению в Google Play или одном из многих других магазинов приложений Android. Но когда пользователь загрузит ваше приложение, что заставит его регулярно работать с приложением и порекомендовать его другим? В табл. 1.14 перечислены некоторые характеристики успешных приложений.

Ресурсы для разработчиков

В табл. 1.15 перечислены некоторые важнейшие документы с сайта Android Developer. В ходе углубленного изучения разработки Android-приложений у вас могут возникнуть вопросы по инструментам, особенностям проектирования, безопасности и т. д. Существует целый ряд новостных групп и форумов для разработчиков Android, на которых можно найти новейшие объявления или задать вопросы (табл. 1.16). В табл. 1.17 приведены некоторые сайты, на которых можно найти рекомендации, видеоролики и ресурсы по программированию для Android

2.2. Обзор применяемых технологий

В этом разделе представлены технологии, о которых вы узнаете в этой главе.

2.2.1. Android Developer Tools IDE

В этой главе будет рассмотрена интегрированная среда разработки Android Developer Tools (ADT). Мы воспользуемся ею для создания нового проекта (см. раздел 2.3). Как вы увидите, среда создает простейший графический интерфейс с текстом “Hello world!”. Далее мы воспользуемся макетным редактором среды и окном свойств для построения простого графического интерфейса с текстом и двумя изображениями (см. раздел 2.5).

2.2.2. TextView и ImageView

Для вывода текста в приложении будет использоваться компонент TextView, а графика будет отображаться в компонентах ImageView. Графический интерфейс, созданный для приложения по умолчанию, содержит компонент TextView, различные параметры которого — текст, размер шрифта, цвет текста и т. д. — настраиваются в окне свойств среды разработки (см. раздел 2.5.3). Затем мы перетащим компоненты ImageView с палитры в макет графического интерфейса (см. раздел 2.5.4).

2.2.3. Ресурсы приложения

Все строки и числовые значения рекомендуется определять в файлах ресурсов, которые размещаются во вложенных папках папки res проекта. В разделе 2.5.3 вы узнаете, как создавать ресурсы для строк (например, для текста в компоненте TextView) и метрик (например, размера шрифта). Также будет продемонстрировано использование встроенных цветовых ресурсов Android для определения цвета шрифта TextView.

2.2.4. Доступность

Android содержит разнообразные специальные средства, упрощающие использование устройств людьми с ограниченными возможностями. Например, слабовидящие пользователи могут воспользоваться функцией TalkBack — экранным диктором, читающим текст на экране (или текст, предоставленный разработчиком) для лучшего понимания назначения и содержимого компонента. Функция Android Explore by Touch позволяет прикоснуться к экрану, чтобы диктор TalkBack зачитал информацию о содержимом экрана рядом с точкой касания. В разделе 2.7 показано, как включить эти функции и как настроить компоненты графического интерфейса приложения для улучшения доступности.

2.2.5. Интернационализация

Устройства на базе Android используются во всем мире. Чтобы ваши приложения охватывали как можно большую аудиторию, подумайте о том, чтобы адаптировать их для разных культур и языков — этот процесс называется интернационализацией. В разделе 2.8 показано, как в приложении Welcome предоставить текст на испанском языке для компонента TextView и строки доступности для компонентов ImageView и как затем протестировать приложение на виртуальном устройстве AVD, настроенном для испанского языка.

2.3. Создание приложения

Примеры книги разрабатывались с использованием версий Android Developer Tools
(22.x) и Android SDK (4.3 и 4.4), актуальных на момент написания книги. Предпола-гается, что вы прочитали раздел «Подготовка» и установили Java SE Development Kit
(JDK) и интегрированную среду Android Developer Tools, которая использовалась
для тестового запуска приложения в разделе 1.9. В этом разделе будет показано, как
создать новый проект в IDE, а другие функции IDE будут представлены в книге.

2.3.1. Запуск интегрированной среды разработки Android Developer Tools

Чтобы запустить IDE, откройте папку eclipseв папке установки пакета Android SDK/
ADT и сделайте двойной щелчок на значке Eclipse icon ( или , в зависимости
от платформы).
При первом запуске среды разработки открывается страница Welcome(см. рис. 2.1).
Если она не появилась, откройте ее командой HelpAndroidIDE.

2.3.2. Создание нового проекта

Проект — это группа связанных файлов (например, файлы кода и графические
файлы), образующих приложение. Работа над приложением начинается с создания
проекта. Нажмите NewAndroidApplication…на странице Welcome, чтобы открыть диа-логовое окно NewAndroidApplication(рис. 2.2). То же самое можно сделать другими
способами: выберите команду меню FileNewAndroidApplicationProjectили откройте
список рядом с кнопкой Newна панели инструментов ( ) и выберите команду
AndroidApplicationProject.

2.3.3. Диалоговое окно New Android Application

Введите следующую информацию на первом шаге мастера New Android Application (рис. 2.2), после чего нажмите Next>:

1.  Application Name: — имя приложения. Введите в этом поле строку Welcome

2. Project Name: — имя проекта, отображаемое в корневом узле проекта на панели Package Explorer в IDE. По умолчанию IDE выбирает в качестве имени проекта имя проекта без пробелов, в котором каждое слово записывается с прописной буквы, — так, для приложения с именем Address Book будет выбрано имя проекта AddressBook. Если вы предпочитаете использовать другое имя, введите его в поле Project Name:.

3. Package Name: — имя пакета Java для исходного кода приложения. Android и магазин Google Play используют это имя в качестве уникального идентификатора приложения, которое должно оставаться постоянным во всех версиях приложения. Имя пакета обычно начинается с доменного имени вашей компании или учреждения, записанного в обратном порядке. Например, мы используем доменное имя deitel.com, поэтому имена наших пакетов начинаются с префикса com.deitel. Далее обычно следует имя приложения. По общепринятым соглашениям в имени пакета используются только буквы нижнего регистра. По умолчанию IDE выбирает имя пакета, начинающееся с префикса com.example, — этот префикс используется только в учебных целях и его необходимо изменить, если вы собираетесь распространять свое приложение.

4. Minimum Required SDK: — минимальный уровень Android API, необходимый для запуска приложения. Этот параметр разрешает выполнять приложение на устройствах с заданным уровнем API и выше. Мы используем уровень 18, соответствующий Android 4.3 — меньшей из двух версий, используемых в книге. В табл. 2.1 перечислены версии Android SDK и соответствующие им уровни API. Другие версии SDK объявлены устаревшими и не должны использоваться. Информацию о процентном соотношении устройств на базе Android, использующих каждую платформу, можно найти по адресу developer.android.com/about/dashboards/index.html

5. Target SDK: — предпочтительный уровень API. В приложениях книги используется уровень 19 (Android 4.4). На момент написания на 26% устройств на базе Android все еще использовался уровень 10. При разработке приложений для распространения желательно ориентироваться на максимально широкий круг устройств. Например, чтобы приложение предназначалось для Android 2.3.3 и выше (98% всех устройств Android), следует выбрать в поле Minimum Required SDK значение 10. Если в этом поле выбран более ранний уровень API, чем в поле Target SDK, проследите за тем, чтобы приложение не использовало функции уровней API выше Minimum Required SDK или чтобы оно проверяло уровень API устройства и соответствующим образом изменяло свою функциональность. Служебная программа Android Lint, которую IDE выполняет в фоновом режиме, сообщает о попытках использования неподдерживаемых функций.

6. Compile With: — версия API, используемая при компиляции приложения. Обычно совпадает с версией в поле Target SDK, но также может быть более ранней версией с поддержкой всех API, используемых в приложении.

7. Theme: — тема оформления по умолчанию, соответствующая стандартам Android. Выбрать можно из трех тем — Holo Light, Holo Dark и Holo Light with Dark Action Bars (выбирается IDE по умолчанию). При построении графического интерфейса можно выбрать одну из многих разновидностей тем Holo Light и Holo Dark. В этой главе используется тему по умолчанию, а другие варианты более подробно рассматриваются в последующих главах. За дополнительной информацией о каждой теме с примерами экранов обращайтесь по адресу: developer.android.com/design/style/themes.html.

2.5. Построение графического интерфейса приложения

А теперь создадим графический интерфейс пользователя для приложения Welcome. Макетный редактор (Graphical Layout) позволяет создать графический интерфейс пользователя путем перетаскивания в окно приложения компонентов GUI, таких как Button, TextView, ImageView и др. По умолчанию, описание макета для шаблона Blank App хранится в XML-файле с именем activity_main.xml в папке res/layout. В этой главе мы воспользуемся макетным редактором и окном структуры Outline для построения приложения и не будем изучать сгенерированную разметку. Инструментарий разработчика Android усовершенствовался до такого состояния, что в большинстве случаев вам не нужно напрямую работать с разметкой.

2.5.1. Добавление изображений в проект

Для нашего приложения в проект необходимо включить «фирменного» жука Deitel (bug.png) и логотип Android (android.png). Эти изображения хранятся в папке images/Welcome примеров книги. Имена файлов графических ресурсов (а также всех остальных ресурсов, о которых вы узнаете в последующих главах) должны записываться в нижнем регистре.Так как экраны устройств Android обладают разными размерами, разрешением и плотностью пикселов (DPI, Dot Per Inch), разработчик обычно предоставляет изображения с разными разрешениями, а операционная система выбирает графику на основании плотности пикселов устройства. По этой причине папка res вашего проекта содержит несколько вложенных папок, имена которых начинаются с префикса drawable. В этих папках хранятся изображения для разных плотностей пикселов (табл. 2.4).

Графика для устройств, сходных по плотности пикселов с телефоном Google Nexus 4, который мы используем для нашего AVD, размещается в папке drawable-hdpi. Изображения для устройств с более высокой плотностью пикселов (например, некоторых телефонов и планшетов) находятся в папках drawable-xhdpi или drawable-xxhdpi.

Изображения для экранов со средней и низкой плотностью пикселов старых устройств Android размещаются в папках drawable-mdpi и drawable-ldpi соответственно. В этом приложении мы предоставляем только одну версию каждого изображения.

Если Android не находит изображения в подходящей папке drawable, то версия изображения из другой папки масштабируется до нужной плотности (вверх или вниз, как потребуется).