Андроид студио. Установка Android Studio, настройка SDK


Некоторое время назад официальной IDE для Android был Eclipse (как стандарт де-факто для Java) с плагином ADT. Некоторое время спустя среди Java-программистов начала набирать популярность IDE от JetBrains, потом для нее появился плагин для разработки под Android, и народ начал потихоньку переходить на нее с Eclipse.

Еще чуть позже Google объявляет о том, что будет делать Android Studio на базе IDEA. И вот на подходе уже вторая версия Android Studio, и Eclipse вспоминается разве что как страшный сон:)

Android Studio — официальная среда разработки под Android. По сути, Android Studio — это известная Java IDE IntelliJ IDEA с плагинами.

На данный момент существуют следующие опции при выборе IDE для Android:

  1. Eclipse . Самая популярная какое-то время назад IDE для Java, сейчас использовать ее для разработки под Android крайне не рекомендуется .
  2. IntelliJ IDEA . Отличная IDE, хорошо подходит для Android.
  3. Android Studio . Лучшая IDE для Android . От IDEA отличается мелочами, но эти мелочи очень-очень приятны и сильно облегчают наш труд:) Именно на ней мы и остановимся.

В первую очередь, нужно убедиться, что у вас установлен JDK (Java Development Kit). Это обязательный компонент для разработки на Java, а поскольку разработка под Android ведется на Java — то и для разработки под Android тоже.

Во-вторых , поставьте галочки «show line numbers» и «show method separators»:

Первая будет отображать номера строк слева от текста, вторая — будет рисовать разделители между методами в коде.

Эти две опции невероятно важны, а особенно для новичков, и я не понимаю, почему они выключены по-умолчанию.

В-третьих , настройте автодополнение. Для этого в «Case sensitive completion» выберите «None»:

Поясню, почему именно так. Опция по-умолчанию подразумевает срабатывание автодополнения только в том случае, если первая буква набрана в правильном регистре. Опция None будет вызывать автодополнение независимо от того, в каком регистре вы начали набирать код.

Стандартное значение этой опции, как и прошлых двух, вызывает у меня недоумение.

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

Что ж, с настройкой и установкой Android Studio мы разобрались, пришло время создать наш первый проект.

В главном окне Android Studio нажмите на «Start a new Android Studio project «:

Появится новое окно, в котором нам нужно выполнить несколько действий.

В первом нужно задать имя приложения, домен компании (из этих двух параметров будет создано имя пакета), и расположение проекта на диске:

В Android, как и в Java, основным идентификатором приложения является имя пакета. Если вы ранее работали с Java, вы знаете, что это такое. Тем же, кто не знает, рекомендую гугл, или, например, вот .

Далее Android Studio спросит нас, какие и каких версий SDK мы хотим использовать. Пока что нам хватит «Phone and Tablet» SDK, версию API поставьте 16 вместо рекомендуемой 15-й, поскольку API 15 уже неактуально и совсем не распространено:

На следующем экране нас спросят, какие компоненты приложения мы хотим создать. Выберите «Empty Activity»:

На следующем шаге просто нажмите «Finish», ничего не меняя.

По завершению этого процесса вы увидите, наконец-то, свой первый проект:

Он уже вполне работоспособен, но чтобы его запустить, нам понадобится эмулятор Android.

Создание эмулятора Android

Для создания эмулятора Android нам понадобится Android AVD Manager (AVD = Android Virtual Device). Не беспокойтесь, ставить больше ничего не потребуется. Просто нажмите на эту кнопочку:

Потом на эту кнопочку:

А потом просто несколько раз кликните «Next» и, наконец, «Finish»

Запуск Hello World

Пришло время запустить наш первый проект, созданный в Android Studio !

Нажмите на вот эту кнопку (или Shift-F10):

После этого вы увидите диалог, в котором вам будет предложено выбрать девайс, на котором IDE должна запустить собранное приложение:

Поставьте выделенную стрелкой галочку и нажмите «ОК». Начнется сборка проекта, запуск эмулятора, установка приложения на эмулятор, и запуск приложения.

На это уйдет некоторое время (чем мощнее ваш компьютер — тем меньше времени понадобится), поскольку эмулятор — вещь достаточно медлительная, несмотря на колоссальные улучшения в последние пару лет.

И вот, по прошествии 1-10 минут (после запуска эмулятора проекты, конечно же, будут собираться и запускаться быстрее), вы, наконец, увидите свой Hello World на экране эмулятора!

На этом все, а в следующем уроке мы рассмотрим .

Новые уроки добавляются каждый день! Чтобы ничего не пропустить, подпишитесь на нашу

Статья была начата, когда студия существовала в бета-версии. По мере развития среды разработки в статью будут добавляться новые материалы.

15 мая на конференции Google I/O 2013 объявили о новой среде разработки Android Studio . Основой для новой IDE стала платформа IntelliJ от компании JetBrains. Скачать новую среду разработки можно по адресу https://developer.android.com/studio/index.html .

Изменения

Android Studio 3.3.1 и 3.3.2

7 февраля вышла версия 3.3.1. 5 марта 2019 вышел финальный релиз студии версии 3.3.2. Исправлены баги.

Android Studio 3.3

  • Navigation Editor
  • New Project Wizard update (убрали шаблоны Google AdMod Ads Activity и Fragment+ViewModel)
  • Delete Unused IDE Directories
  • Multiple Emulator AVD instances
  • Android 9 Pie Emulator System Images & Wi-Fi P2P

Android Studio 3.2

На конференции Google I/O 2018 в мае 2018 года представили предварительную версию 3.2 с новыми возможностями. 24 сентября 2018 вышел релиз.

  • Поддержка Slice
  • Новая тема MaterialComponents
  • Миграция с Android Support Libraries на AndroidX

Добавлен новый шаблон Fragment+ViewModel .

Android Studio 3.1

26 марта 2018 вышла финальная версия 3.1. Внешне сильных изменений немного. Очередной раз переделали Palette для компонентов.

Android Studio 3.0

17 мая 2017 года на Google IO объявили о выходе новой версии Android Studio 3.0 Canary 1 (запись).

Изменений действительно много. Список новинок .

Официально объявили о поддержке Kotlin. Добавлены и улучшены многие инструменты в составе студии. Появились новые шаблоны, поддержка Java 8 и многое другое.

Появилась новая вкладка Device File Explorer . Раньше возможность просматривать внутренности аппарата была в составе DDMS, потом она исчезла, а теперь восстановили. Так стало удобнее. Подробнее здесь - https://developer.android.com/studio/debug/device-file-explorer.html

Google обзавёлся собственным Maven-репозиторием и новые версии собственных библиотек теперь доступны только из него. В новых проектах доступно из коробки, в старых нужно прописывать вручную.

Android Studio 2.0

23 ноября 2015 объявили о выходе Android Studio 2.0 Preview. Финальная версия вышла 7 апреля 2016 года. Основные революционные изменения - переработанный эмулятор с сервисами Google, камерой, GPS, который работает намного быстрее и новая функция «Instant Run», которая позволяет почти мгновенно обновлять запущенное под отладкой мобильное приложение при изменении исходного кода.

Скорость эмулятора ускорилась в 3 раза, чем предыдущая версия. А скорость передачи приложения в 10 раз быстрее, чем на реальное устройство.

GPU profiler - появилась версия профилировщика рендера средствами GPU. С помощью этого инструмента разработчики могут анализировать время рендеринга элементов в каждом кадре и находить «узкие места».

Функция Instant Run доступна и на эмуляторе, и на физическом устройстве, при условии что приложение собирается для версии Android «Ice Cream Sandwich» или старше.

Android Studio 1.5

19 ноября 2015 года вышла версия 1.5. Заметных изменений не видно, поправили баги, что-то там улучшили.

Android Studio 1.4

Vector Asset Studio

Появился новый мастер Vector Asset Studio для создания векторных значков VectorDrawable . Для этого нужно прописать новую версию Gradle вручную (позже это будет сделано автоматически)

После этого вы можете щёлкнуть правой кнопкой мыши на папке res/drawable и выбрать из контекстного меню пункт New | Vector Asset .

Существует некоторая обратная поддержка для устройств ниже версии 21. Плагин Gradle автоматически сгенерирует PNG-файлы для разных разрешений экрана.

Редактор тем

Появился редактор тем для редактирования файла colors.xml , содержащий настройки цвета для Material Design. Пока это экспериментальный выпуск. В дальнешнем редактор обещают доработать для сложных вещей. Доступ к редактору осуществляется через меню Tools | Android | Theme Editor .

Новые шаблоны

Добавились новые шаблоны, включая поддержку Android Design Support Library. Общий внешний вид мастера выбора шаблона был перерисован под новый дизайн. Теперь можно выбрать шаблоны с плавающей кнопкой Floating action button (FAB) Blank Activity , с выдвижной шторкой Navigation Drawer Activity , активность с прокруткой Scrolling Activity .

Стандартный минимальный шаблон для начинающих получил название Empty Activity вместо прежнего Blank Activity .

Новые вкладки

Новые вкладки для мониторинга: GPU Rendering Monitor . На устройстве или эмуляторе включить опцию Setting | Developer Options | Profile GPU rendering _ In adb shell dumpsys gfxinfo .

Новая вкладка Network Monitor .

Firebase

Упрощена работа с Firebase . Выберите File | Project Structure | Cloud .

Android Studio 1.3

v 1.2. Google AdMob Ads Activity

В версии 1.2 заметил новый шаблон Google AdMob Ads Activity для встраивания рекламы.

Также улучшили редактор кода. Например, если вы редактируете название открывающего тега, то закрывающий тег меняется автоматически. Также были немного переработаны некоторые некоторые детали интерфейса, добавлены новые вкладки.

Ваш первый проект на Android

Теперь вы готовы начать работу. Без промедления запускайте Android Studio. Далее нам нужно скачать последнюю версию Android API, с помощью которой мы будем создавать нашу первую игру. Android API — это набор готовых классов, процедур, функций, структур и констант (не пугайтесь этих слов — в следующих уроках вы найдёте объяснения всем этим терминам, а пока думайте о них, как об инструментах программиста), написанных другими программистами для облегчения нашей с вами жизни.

В меню (сверху экрана) находим вкладку “Tools” – далее “Android” – далее “SDK Manager”. Откроется вкладка “Android SDK” (на скриншоте ниже). На момент написания статьи самая высокая версия, как видно из скриншота – это Android API 26, но если вы видите более позднюю версию, ставьте галочку и смело качайте её (нажимаем “Apply” и дальше подтверждаем “OK”).

  • Нажимаем «New project» как показано на скриншоте:
  • Появится окно настройки нового проекта. Заполняем поля – в “Application name” пишем “FirstGame ”, поле “Company domain” можно оставить без изменений, “Project location” – путь к проекту требуется выбрать таким образом, чтобы все папки на пути следования были на английском языке. Нажимаем “Next”.

  • В следующем окне удостоверьтесь, что в чекбоксе “Phone and Tablet” стоит галочка (в остальных галочки убираем). Теперь мы должны выбрать ту версию ОС Android, начиная с которой наша с вами игра будет запускаться. Чем ниже версию вы выберете, тем большему проценту используемых девайсов будет доступна ваше приложение, но тем меньше особенностей новых версий ОС Android будет вам доступно для использования. Нажимаем “Next”.

  • В следующем окне выберите “Empty Activity”. Нажимаем “Next”.

  • В следующем окне оставляем поля без изменений и жмём “Finish”.

  • “Tip of the day” – вкладка совет дня, которая будет открываться каждый раз с запуском Android Studio. Большинство советов могут показаться вам непонятными пока вы еще только учите Java, но многие из них действительно полезны. После прочтения очередного совета можете закрыть окно.

Если вы новичок в программировании, то код, параметры и файлы наверняка выглядят для вас устрашающе. Но не стоит волноваться, относитесь к ним так, как будто вы и не должны о них знать до определённой поры. На самом деле вы только что создали работающее приложение (в это, определённо, сложно поверить, но это действительно так). И чуть позже вы сможете его запустить на своем устройстве, поддерживающем ОС Android.

Но для начала поглубже окунёмся в мир Android Studio и изучим эту прекрасную среду разработки.

Android Studio сама по себе может показаться сложным инструментом для создания приложений, но мы будем постепенно углубляться в дебри разработки. Взгляните на следующий скриншот, быстро пробежимся по ключевым частям Android Studio:

  1. Обозреватель проекта – эта область очень похожа на знакомый нам проводник Windows. Здесь отображаются все папки и файлы, сгенерированные в ходе создания нашего проекта.
  2. Редактор кода – как следует из названия, здесь мы будем писать и редактировать наш код. Однако, как мы позже увидим, вид этого окна будет зависеть от того, какой тип файла мы редактируем;
  3. Панель меню – как и в большинстве программ, панель меню даёт нам полный доступ ко всем функциям, в нашем случае — среды разработки Android Studio;
  4. Панель инструментов – здесь содержится полезные однокликовые возможности, как, например, запуск или отладка нашей игры. Можете навести курсор на иконки кнопок и почитать всплывающие окна для ознакомления;
  5. Панель навигации – как и “путь к файлу”, тут отображается фактическое местоположение в вашей файловой системе того файла, с которым вы сейчас работаете;
  6. Важные информационные окна – тут находятся вкладки для отображение некоторой информации, например, состояние устройства на котором вы отлаживаете своё приложение.

В следующей статье мы еще немного времени отведём пользовательскому интерфейсу Android Studio, узнаем, как можно без кода редактировать пользовательский интерфейс нашего приложения. После чего, создадим простенькое меню для нашей первой игры.

На этом пока всё, переходите к следующему уроку.

Как создать мобильное приложение в Android Studio

Android Studio - интегрированная среда разработки (IDE) на базе IntelliJ IDEA , которую Google называет официальной IDE для приложений Android.

В этом руководстве описана разработка приложений для android :

  • Навигация между файлами с помощью проводника
  • Установка файла AndroidManifest.xml
  • Импорт файлов в проект
  • Расширенный редактор макетов с функцией динамического превью
  • Использование Logcat и Android Monitor для отладки приложений

Начало работы в Android Studio

Запустите Android Studio, в окне Android Studio Setup Wizard выберите Start a new Android Studio project (начать новый проект).

В окне Create New Project выберите Application Name (название приложения) как Fortune ball («Шар фортуны»), введите домен компании; в поле Project location выберите место в котором приложение будет сохранено. Кликните Next .

Перед вами окно Target Android Devices . Выберите Phone and Tablet . В поле Minimum SDK укажите API 15 . Нажмите Next .

В окне Add an activity to Mobile выберите Basic Activity . Оцените все опции, в этом окне представлен обзор доступных макетов.

Кликните Next .

В окне Customize the Activity , скриншот которого размещен ниже, вы сможете изменить Activity Name (название активности), Layout Name (название макета), Title (общее название) и Menu Resource Name (название меню ресурсов). Оставьте значения по умолчанию и кликните Finish .

Через несколько секунд появится следующее окно:

На вашем устройстве или эмуляторе высветится такое же окно. Эмулятор функционирует как устройство, загрузка займет определенное время.

Это уже приложение. Ему многого не хватает, но сейчас уже можно переходить к следующему шагу.

Структура проекта и файла

Окно показывает файлы проекта.

В выпадающем меню (скриншот ниже) есть несколько фильтров для файлов. Основные - Project и Android.

Фильтр Project покажет все модули приложения - в каждом проекте присутствует как минимум один модуль. Среди модулей других типов есть модули из библиотек сторонних разработчиков, или модули других приложений Android (такие как приложения для Android Wear, Android TV). У каждого из модулей имеется свой набор характеристик, в т. ч. файл gradle, ресурсы и исходные файлы (java-файлы).

Примечание. Если проект не открыт, кликните вкладку Project на левой стороне панели, как показано на скриншоте. По умолчанию установлен фильтр Android, который группирует файлы по определенному типу. На верхнем уровне вы увидите следующие папки:

  • manifests
  • Gradle Scripts

В последующих разделах подробно описаны все эти папки, начиная с manifests.

Обзор AndroidManifest.xml

У каждого приложения под Android есть файл AndroidManifest.xml, который находится в папке manifests. Этот XML-файл сообщает вашей системе о требованиях приложения. Присутствие этого файла обязательно, т. к. именно он позволяет системе Android создать приложение.

Откройте папку manifests и AndroidManifest.xml. Двойной клик откроет файл.

Теги manifest и application нужны для manifest, появляются только один раз.

Каждый тег также определяет набор атрибутов, наряду с названием элемента. К примеру, некоторые атрибуты в application могут быть такими:

android:icon, android:label и android:theme

Среди прочего в manifest может появиться:

  • uses-permission: запрашивает специальное разрешение, которое выдается приложению для корректной работы. К примеру, приложение должно запрашивать разрешение у пользователя, чтобы получить доступ к сети - в случае, если вы добавите разрешение android.permission.INTERNET.
  • activity: сообщает об активности, которая частично отвечает за визуальный UI и логику. Любая активность, которая предусмотрена в приложении, должна добавляться в manifest - неотмеченную активность система не заметит, и она не будет отображаться в приложении.
  • service: добавляет сервис, который вы собираетесь использовать, чтобы реализовать продолжительные операции или расширенные коммуникации API с другими приложениями. Примером в данном случае может служить сетевой вызов, с помощью которого приложение получает данные. В отличие от активностей, у сервисов нет пользовательских интерфейсов.
  • receiver: благодаря приемнику широковещательных сообщений приложение получает сигналы о системных сообщениях или сообщениях других приложений, даже когда другие компоненты приложения не запущены. Пример такой ситуации - батарея с низким уровнем заряда и уведомление об этом операционной системы.

Полный список тегов можно найти в manifest-файле на сайте Android Developer.

Настройки файла Manifest

В activity добавьте следующий атрибут:

android:screenOrientation=”portrait”. чтобы ограничить экран только портретным режимом. Если этого не сделать, экран, в зависимости от расположения устройства, будет либо в ландшафтном, либо в портретном режиме. После добавления атрибута файл manifest будет выглядеть как на скриншоте.

Создайте и запустите приложение. Если вы тестируете на своем устройстве, переверните его, удостоверьтесь, что экран не перемещается в ландшафтный режим, если вы ограничили эту возможность в файле AndroidManifest.

Обзор Gradle

Перейдем к Gradle. Gradle превращает Android-проект в инсталируемый APK, который можно устанавливать на устройства. Файл build.gradle присутствует в Gradle scripts, на двух уровнях: модульном и проектном.

Откройте файл build.gradle (Module:app). Вы увидите установку gradle по умолчанию:

apply plugin: "com.android.application" android {compileSdkVersion 25buildToolsVersion "25.0.2"defaultConfig {applicationId "com.raywenderlich.fortuneball"minSdkVersion 15targetSdkVersion 25versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"}}} dependencies {compile fileTree(dir: "libs", include: ["*.jar"])androidTestCompile("com.android.support.test.espresso:espresso-core:2.2.2", {exclude group: "com.android.support", module: "support-annotations"})compile "com.android.support:appcompat-v7:25.1.0"compile "com.android.support:design:25.1.0"testCompile "junit:junit:4.12"}

Разберем основные компоненты:

  • apply plugin: ‘com.android.application’ применяет плагин Android на родительском уровне и обеспечивает доступность задач верхнего уровня, которые нужны для создания приложения.
  • Рядом с разделом android{…} находятся опции настроек, такие как targetSdkVersion. Целевой SDK для вашего приложения должен располагаться на новейшем уровне API. Еще один важный компонент - minSDKVersion (определяет минимальную версию SDK, которая должна быть установлена на устройстве, чтобы приложение можно было запустить). К примеру, если версия SDK 14, тогда приложение будет невозможно запустить на этом устройстве, поскольку в данном конкретном случае минимальная поддерживаемая версия 15.
  • Последний компонент - dependencies{…}. Необходимо отметить compile ‘com.android.support:appcompat-v7:VERSION’ и compile ‘com.android.support:design:VERSION’. Они обеспечивают поддержку и совместимость особенностей новых и старых API.

Кроме библиотек совместимости Android, вы можете добавить библиотеки сторонних разработчиков в компонент dependencies{…} Библиотека анимаций, например, содержит эффекты пользовательского интерфейса. Найдите dependencies, затем добавьте вниз две следующие линии:

dependencies { ... compile "com.daimajia.easing:library:2.0@aar"compile "com.daimajia.androidanimations:library:2.2@aar"}

Здесь можно добавить dependencies сторонних разработчиков. Библиотеки автоматически загружаются и интегрируются в Android Studio. Кликните Sync Now, чтобы интегрировать эти зависимости в свое приложение.

Синхронизация длится несколько секунд. Обновления Gradle появляются во вкладке Messages нижней панели.

Это все настройки, которые вам пока будут нужны в Gradle. Такие манипуляции добавят анимацию в приложении.

Импорт файлов

В разработке приложения под Android важна интеграция с другими ресурсами: изображения, кастомные шрифты, звуки, видео и пр. Эти ресурсы импортируются в Android Studio и помещаются в соответствующие папки, что позволяет операционной системе подбирать корректные ресурсы для приложения. Для нашего приложения Fortune Ball понадобится импорт изображений в папки drawable. В этих папках могут содержаться изображения или специальные файлы XML drawables (т. е. вы можете рисовать формы с помощью XML-кода и использовать их в своих макетах).

В Android Studio перейдите из Android в Project

Откройте папку res (app > src > main). Клик правой кнопки мыши по папке res, выберите New > Android resource directory.

Появится окно под названием New Resource Directory.

Из выпадающего списка Resource type выберите опцию drawable. В списке Available qualifiers выберите Density, затем кликните кнопку, которая выделена на скриншоте.

В следующем окне выберите XX-High Density из списка Density. Кликните OK.

Повторите все, чтобы создать папки drawable-xhdpi, drawable-hdpi и drawable-mdpi. Выберите X-High, high (высокую) и medium (среднюю) плотность соответственно из списка Density.

Каждая папка, у которой есть определитель плотности (i.e. xxhdpi, xhdpi, hdpi), содержит изображения, которые соотносятся с определенной плотностью или разрешением. К примеру, папка drawable-xxhdpi содержит изображение высокой плотности, это означает, что Android-устройство с экраном высокого разрешения извлечет изображение из этой папки. Изображение будет хорошо смотреться на всех устройствах Android, независимо от качества экрана. Больше информации о плотности экранов содержится в документации Android.

Создав все «рисованные» папки, вы можете вернуться к нераспакованному контенту в папке и скопировать (cmd + C) изображение из каждой папки и поместить (cmd + V) в соответствующую папку Android Studio.

Поместив файлы, вы увидите окно Copy. Выберите OK.

XML View и Dynamic Layout Previews

Создание макета, с которым пользователи могут взаимодействовать, - важная часть процесса. В Android Studio это можно сделать в редакторе макета. Откройте content_main.xml из res/layout. Во вкладке Design вы можете переносить элементы интерфейса (кнопки, текстовые поля).

Справа от Design есть вкладка Text, которая позволяет редактировать XML непосредственно в макете.

Перед созданием внешнего вида, необходимо определить некоторые значения. Откройте strings.xml во вкладке res/values и добавьте следующее:

Suggest the question, which you can answer “yes” or “no”, then click on the magic ball.

strings.xml содержит все строки, которые появляются в приложении. Разделение этих строк в отдельные файлы упрощает интернационализацию, т.к. нужен только файл строк для каждого языка, который требуется в приложении. Даже если вы не собираетесь переводить приложение на другие языки, использовать файл строк всегда рекомендуется.

Откройте dimens.xml в res/values и добавьте следующее:

15sp20sp

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

Вернитесь в content_main.xml и замените все содержимое файла следующим кодом:

Этот довольно большой код создает макет приложения под названием FortuneBall. На верхнем уровне вы добавили RelativeLayout (относительная разметка определяет позицию дочерних компонентов относительно родительского компонента). RelativeLayout можно растянуть, подогнать под размер родительского компонента.

В относительной разметке добавляются две части текста, изображение и кнопка. Все эти детали будут видны в порядке добавления. Их содержимое можно будет прочитать в strings.xml (текст) и в drawable (изображения).

Обновляя content_main.xml, обратите внимание на окно Preview обновляет UI:

Примечание: если не видно окно предпросмотра, во вкладке Text кликните на кнопку Preview на панели редактора разметки справа.

Создайте и запустите.

И вот вы создали макет приложения. Но на данном этапе это только красивое изображение - клик по кнопке ни к чему не приведет.

Объединяем Activity и View

Вы можете использовать java-файлы, размещенные в app / src / main / java чтобы установить логические связи в приложении.

Откройте MainActivity.java и добавьте эти данные под уже существующие:

Import java.util.Random;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView; import com.daimajia.androidanimations.library.Techniques;import com.daimajia.androidanimations.library.YoYo;

Первые пять импортов указывают на соответствующие классы в вашем коде: Random, View, Button, ImageView и TextView. Следующие два импорта указывают на то, что вы будете использовать два класса из библиотек, в т.ч. build.gradle для анимаций. В MainActivity.java в класс MainActivity добавьте:

String fortuneList = {"Don’t count on it","Ask again later","You may rely on it","Without a doubt","Outlook not so good","It"s decidedly so","Signs point to yes","Yes definitely","Yes","My sources say NO"}; TextView mFortuneText;Button mGenerateFortuneButton;ImageView mFortuneBallImage;

В этом небольшом отрезке кода вы установили 4 переменных для активности. Первая - строки, которые определяют возможные состояния, другие три - элементы UI, которые вы создали в макете/разметке.

Теперь замените содержимое метода onCreate() следующими данными:

// 1:super.onCreate(savedInstanceState);// 2:setContentView(R.layout.activity_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);// 3:mFortuneText = (TextView) findViewById(R.id.fortuneText);mFortuneBallImage = (ImageView) findViewById(R.id.fortunateImage);mGenerateFortuneButton = (Button) findViewById(R.id.fortuneButton); // 4:mGenerateFortuneButton.setOnClickListener(new View .OnClickListener() {@Overridepublic void onClick(View view) {// 5:int index = new Random ().nextInt(fortuneList.length);mFortuneText.setText(fortuneList);// 6:YoYo.with(Techniques.Swing).duration(500).playOn(mFortuneBallImage);}});

  • Проверьте, что активность готова (реализация суперкласса).
  • Укажите, что макет для данной активности представлен макетом, который вы создали ранее, проверьте панель инструментов.
  • Заполните значения трех переменных, которые вы создали прежде в компонентах views макета с помощью метода findViewById. Значение id то же, что и в макете XML.
  • Добавьте OnClickListener на кнопке. Это простой класс, который инкапсулирует (упаковывает) функциональность, которую, в свою очередь, вызывает нажатие кнопки.
  • Выберите произвольный вариант из набора fortuneList для данного приложения, и обновите текст fortune text, чтобы это показать.
  • Используйте библиотеку сторонних разработчиков, чтобы добавить зависимость в файл gradle, и таким образом добавить анимацию в приложение.

Уже почти готово. Но нужно убрать плавающую кнопку. Перейдите в res / layout и откройте activity_main.xml.

В этом файле макета содержится ссылка на content_main.xml, который вы прежде редактировали. Он по умолчанию определяет контент (тулбар и плавающая кнопка действия). Однако в данном конкретном приложении (Fortune Ball) плавающая кнопка не нужна. Поэтому уберите следующий блок кода из xml-файла:

Теперь в правом нижнем углу нет плавающей кнопки.

Задайте вопрос (What’s my fortune?) - нажмите кнопку. Проверьте работу приложения.

Android Monitor

В Android Studio содержится широкое множество инструментов. Откройте вкладку Android Monitor в нижней части окна Android Studio.

Здесь вы найдете множество опций для разработчика.

  • Камера и кнопка play слева позволяют делать скриншоты и записывать видео.
  • Увеличительное стекло открывает ряд дополнительных опций, например анализ памяти приложения.
  • Layout Inspector предоставляет визуальный интерфейс, который определяет, почему интерфейс приложения выглядит определенным образом.

LogCat предоставляет детальный обзор системных сообщений с возможностью вникнуть в данные определенного приложения, или даже использовать строку поиска, чтобы отфильтровать сообщения, если они не содержат специфических символов.

Проверьте, что вы выбрали Show only selected application в правом верхнем углу, как было показано на скриншоте выше. Теперь будут видны только сообщения вашего приложения.

В MainActivity.java добавьте к списку импортов следующее:

Import android.util.Log;

В конце onCreate() в MainActivity.java добавьте следующую линию:

Log.v("FORTUNE APP TAG","onCreateCalled");

Log.v вызывает два параметра - тег и сообщение. В данном случае тег определен как “FORTUNE APP TAG”, а сообщение как “onCreateCalled”.

Запустите приложение, чтобы видеть сообщение лога на панели Logcat.

Отфильтруйте содержимое LogCat, впишите onCreateCalled в поисковую строку над консолью:

Затем удалите поисковый текст, чтобы увидеть снова все сообщения лога.

Еще одна полезная функция - logcat, это возможность просматривать сообщения об ошибке. Добавьте баг в свое вполне функциональное приложение, чтобы посмотреть, как все устроено.

Перейдите к MainActivity.java и измените следующую линию в onCreate():

//mFortuneText = (TextView) findViewById(R.id.fortuneText);

Запустите приложение. Кликните кнопку What’s My Fortune? Не работает!

Как бы вы исправили ошибку, если бы не знали о наличии бага? В этом поможет Logcat.

Перейдите к панели Logcat - она выглядит примерно так:

Здесь много красного текста. В данном случае проблема в линии 50 в файле MainActivity.java. LogCat превратил эту ссылку в гиперссылку синего цвета. Если ее нажать, можно узнать, в чем проблема.

Изменив mFortuneText = (TextView) findViewById(R.id.fortuneText), вы тем самым создали переменную, но не указали ее значение - отсюда исключение нулевого указателя. Вернитесь обратно и измените код, запустите приложение. В этот раз все работает гладко. Logcat - полезный инструмент для поиска ошибок.

Share this article:

Related Articles

Смартфоны и планшеты на операционных системах Android, с каждым днем набирают все большую популярность и распространение среди населения нашей огромной планеты. Эти запрограммированные девайсы, стали незаменимыми помощниками для сотен миллионов людей. Многообразие приложений позволило нам превратить свои гаджеты в универсальные инструменты, помогающие в работе и отдыхе. О создании таких приложений и пойдет речь в следующем видеокурсе.

Уроки Android Studio для начинающих

Наглядные видео уроки по разработке андроид приложений с нуля. Из данного сборника вы узнаете об этой среде все, что необходимо знать: начиная от того, как установить Android Studio на компьютер, и заканчивая созданием реально крутых приложений. Вы постепенно освоите широкий функционал этой чудесной студии и научитесь создавать удивительные проекты. Желаем приятного просмотра и эффективной практики.

В данном уроке речь пойдет о том, как установить и настроить среду Android Studio, а также её вспомогательный компонент – JDK.


Разбор структуры проекта. Создание ADV-эмулятора и простого приложения для ОС Андроид.


Из каких элементов состоят android-приложения? Что такое View, Activity и Layout? Узнаем в данном уроке.


Учимся работать с XML-файлами макетов для android, а также говорим о вертикальном и горизонтальном видах приложений.


В данном видео уроке мы рассмотрим свойства двух основных контейнеров для группировки – RelativeLayout и LinearLayout.


Еще один контейнер для табличной компоновки элементов приложения андроид.


Какими параметрами обладают различные элементы андроид-приложений? Смотрим и запоминаем.


Как манипулировать различными view-элементами, используя код на языке Java.


3 различных способа обработки данных от нажатия на кнопку в приложении.


Как задать один способ обработки для нескольких кнопок android-приложения.


В данном уроке мы узнаем какие типы ресурсов бывают и как взаимодействовать с ними из приложения.

Урок 1 - Установка Android Studio
Урок 2 - Создание первого приложения для Android
Урок 3 - Элементы приложений
Урок 4 - Файл макета приложения
Урок 5 - Виды компоновки элементов (Layout)
Урок 5 (Часть 2) - Виды компоновки элементов (TableLayout)
Урок 6 - Элементы Android-приложений (Настройки)
Урок 7 - Управление View-элементами с помощью Java
Урок 8 - Способы обработки нажатий кнопки в приложении
Урок 9 - onclickListener для группы кнопок
Урок 10 - Работа с ресурсами в приложении
Урок 11 - LogCat, логи приложения. Исключения (Exception) - обработка ошибок в коде
Урок 12 - Меню в Андроид - добавление пунктов меню, обработка нажатия
Урок 13 - Menu Android׃ добавляем иконки и чекбоксы, программно добавляем и скрываем пункты меню
Урок 14 - Создаем контекстное меню для экранных компонентов в андроид приложениях
Урок 15 - Программное создание экрана в андроид приложениях. LayoutParams
Урок 16 - Cоздание и удаление элементов экрана в процессе работы андроид-приложения
Урок 17 - Динамически меняем параметры элементов экрана в андроид-приложении
Урок 18 - Делаем приложение׃ калькулятор для андроид
Урок 19 - Анимация компонентов экрана андроид-приложения
Урок 20 - Добавление Activity - cоздание многоэкранных приложений
Урок 21 - Что такое Intent, Intent Filter, Context
Урок 22 - Жизненный цикл активити (Activity Lifecycle)
Урок 23 - Activity Lifecycle - взаимодействие двух активити
Урок 24 - Task и BackStack активити андроид-приложений
Урок 25 - Как вызвать другое Activity из приложения через Action и Intent Filter
Урок 26 - Создаем в одной Activity несколько Action для Intent и Intent Filter
Урок 27 - Передаем данные между Activity используя Intent Extras
Урок 28 - Вызов второго Activity с возвращением данных
Урок 29 - Используем requestCode и resultCode в onActivityResult
Урок 30 - Вызываем браузер, звонилку, карты с помощью intent с атрибутом data – Uri
Урок 31 - Создаем простое приложение - интернет браузер для андроид
Урок 32 - SharedPreferences - сохранение данных в приложениях







2024 © gtavrl.ru.