Как создать мобильное приложение в Android Studio
Android Studio - интегрированная среда разработки (IDE) на базе IntelliJ IDEA , которую Google называет официальной IDE для приложений Android.
В этом руководстве описана разработка приложений для android :
Запустите 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.
У каждого приложения под Android есть файл AndroidManifest.xml, который находится в папке manifests. Этот XML-файл сообщает вашей системе о требованиях приложения. Присутствие этого файла обязательно, т. к. именно он позволяет системе Android создать приложение.
Откройте папку manifests и AndroidManifest.xml. Двойной клик откроет файл.
Теги manifest и application нужны для manifest, появляются только один раз.
Каждый тег также определяет набор атрибутов, наряду с названием элемента. К примеру, некоторые атрибуты в application могут быть такими:
android:icon, android:label и android:theme
Среди прочего в manifest может появиться:
Полный список тегов можно найти в manifest-файле на сайте Android Developer.
В activity добавьте следующий атрибут:
android:screenOrientation=”portrait”. чтобы ограничить экран только портретным режимом. Если этого не сделать, экран, в зависимости от расположения устройства, будет либо в ландшафтном, либо в портретном режиме. После добавления атрибута файл manifest будет выглядеть как на скриншоте.
Создайте и запустите приложение. Если вы тестируете на своем устройстве, переверните его, удостоверьтесь, что экран не перемещается в ландшафтный режим, если вы ограничили эту возможность в файле AndroidManifest.
Перейдем к 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"}
Разберем основные компоненты:
Кроме библиотек совместимости 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.
Создание макета, с которым пользователи могут взаимодействовать, - важная часть процесса. В Android Studio это можно сделать в редакторе макета. Откройте content_main.xml из res/layout. Во вкладке Design вы можете переносить элементы интерфейса (кнопки, текстовые поля).
Справа от Design есть вкладка Text, которая позволяет редактировать XML непосредственно в макете.
Перед созданием внешнего вида, необходимо определить некоторые значения. Откройте strings.xml во вкладке res/values и добавьте следующее:
strings.xml содержит все строки, которые появляются в приложении. Разделение этих строк в отдельные файлы упрощает интернационализацию, т.к. нужен только файл строк для каждого языка, который требуется в приложении. Даже если вы не собираетесь переводить приложение на другие языки, использовать файл строк всегда рекомендуется.
Откройте dimens.xml в res/values и добавьте следующее:
dimens.xml содержит размерные величины, предельные интервалы для макетов, размера текста и пр. Рекомендуется сохранять эти данные в файле, чтобы их можно было использовать для создания макетов в дальнейшем.
Вернитесь в content_main.xml и замените все содержимое файла следующим кодом:
Этот довольно большой код создает макет приложения под названием FortuneBall. На верхнем уровне вы добавили RelativeLayout (относительная разметка определяет позицию дочерних компонентов относительно родительского компонента). RelativeLayout можно растянуть, подогнать под размер родительского компонента.
В относительной разметке добавляются две части текста, изображение и кнопка. Все эти детали будут видны в порядке добавления. Их содержимое можно будет прочитать в strings.xml (текст) и в drawable (изображения).
Обновляя content_main.xml, обратите внимание на окно Preview обновляет UI:
Примечание: если не видно окно предпросмотра, во вкладке Text кликните на кнопку Preview на панели редактора разметки справа.
Создайте и запустите.
И вот вы создали макет приложения. Но на данном этапе это только красивое изображение - клик по кнопке ни к чему не приведет.
Вы можете использовать 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);}});
Уже почти готово. Но нужно убрать плавающую кнопку. Перейдите в res / layout и откройте activity_main.xml.
В этом файле макета содержится ссылка на content_main.xml, который вы прежде редактировали. Он по умолчанию определяет контент (тулбар и плавающая кнопка действия). Однако в данном конкретном приложении (Fortune Ball) плавающая кнопка не нужна. Поэтому уберите следующий блок кода из xml-файла:
Теперь в правом нижнем углу нет плавающей кнопки.
Задайте вопрос (What’s my fortune?) - нажмите кнопку. Проверьте работу приложения.
В Android Studio содержится широкое множество инструментов. Откройте вкладку Android Monitor в нижней части окна Android Studio.
Здесь вы найдете множество опций для разработчика.
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:
В этом уроке мы создадим новый проект для первого приложения и запустим это приложение на андроид-устройстве.
Что вы узнаете
После этих шагов, Android Studio:
Окно Android Studio должно выглядеть примерно так:
Скриншот 1. Интерфейс Android Studio
Рассмотрим интерфейс Android Studio
В любой момент можно выполнить поиск по исходному коду, базам данных, командам, элементам пользовательского интерфейса и т. д., дважды нажав клавишу Shift или щелкнув увеличительное стекло в верхнем правом углу окна Android Studio. Это может быть очень полезно, если, например, вы пытаетесь найти конкретную команду IDE, которую вы забыли, как запустить.
Окно структуры проекта
Скриншот 2. Окно структуры проекта Android Studio
Можно посмотреть иерархию файлов приложения несколькими способами.
В виде отображения Project
>
Project
вы увидите полную структуру папок проекта, как она выглядит на диске. Здесь много файлов и папок и новичку здесь можно запутаться. Главное, на что следует обратить внимание: проект имеет модульную структуру и основной модуль нашего приложения – app
.
Project» width=»1168″ height=»1079″>
Скриншот 3. Окно структуры проекта Android Studio в виде Project> Project
Если раскрыть папку app , мы увидим такие папки:
Также в папке модуля app имеется файл системы сборки build . gradle , мы рассмотрим его позже.
Если переключиться на вид проекта Project
>
Android
, вы увидите только папку модуля app
с упрощенной структурой проекта. Это представление удобнее, поскольку здесь отфильтрованы только те файлы, с которыми мы непосредственно будем работать. Но следует помнить, что в таком виде структура папок проекта не соответствует той, что хранится на диске. Например, вы не найдете на диске в папке проекта папку manifests
. А в дереве папок в таком режиме не отображаются папки src
и main
.
Скриншот 4. Окно структуры проекта Android Studio в виде Project>Android
В виде Project > Android вы увидите в папке app такие папки: manifests , java , и res .
com . example . android . myfirstapp (androidTest ): эта папка для размещения инструментальных тестов.
com . example . android . myfirstapp (test ): эта папка для размещения модульных тестов.
Также в окне структуры проекта есть папка Gradle Scripts . Раскройте ее. В начале списка есть два файла с одинаковыми именами build.gradle. Это файлы сборки для системы Gradle, которая используется для компиляции, построения и упаковки приложений и библиотек. В скобках после имени файлов указана принадлежность файла модулю App или всему проекту. Файл сборки уровня проекта содержит настройки для всего проекта, а файл сборки уровня модуля содержит настройки для модуля. Чаще всего мы будем работать именно с файлом сборки уровня модуля. Он содержит такие основные секции, как:
Наиболее очевидный способ проверить работу приложения в процессе разработки – установить и запустить его на андроид-устройстве.
Для запуска приложения из среды разработки Android Studio мы можем использовать 2 способа:
Оба этих способа имеют свои преимущества и недостатки, и какой использовать, выбирать вам. Для начинающего разработчика подойдет любой способ.
Что такое андроид-смартфон, вы наверняка уже знаете, раз заинтересовались темой разработки приложений. А что такое эмулятор Android? Это запуск системы Android на ПК в отдельной виртуальной машине.
Существует много эмуляторов Android, например BlueStacks, Droid4X , Nox APP Player , Genymotion , и другие. Большинство из них разработаны для игр и не очень подходят для тестирования приложений, кроме Genymotion.
В Android Studio есть собственный эмулятор, который может запускать образы виртуальных устройств с различными характеристиками, таких как смартфоны Nexus и Pixel, а также планшеты наиболее распространенных типов.
Создание виртуального android-устройства (эмулятора)
Надеемся, у вас все получилось и вы запустили приложение на устройстве. А на следующем уроке мы более подробно разберемся в приложении и попробуем изменить его. Всем добра!
Android Studio - официальная среда разработки приложений для соответствующей операционной системы, призванная заменить собой Eclipse. Последняя, между прочим, на данный момент является самым популярным инструментом в круге Android разработчиков. Процесс разработки в среде Android Studio стал ещё более гибким, чем у главного конкурента. Это достигается за счет отображения всех файлов рабочих прямо в структуре проекта. Крайне полезной является также возможность видеть все визуальные изменения проекта в режиме реального времени. Еще данная SDK дает возможность протестировать работу будущего приложения на разных устройствах. Во встроенном эмуляторе Android девайсов можно установить разнообразные технические конфигурации и разрешения экрана для теста. Кроме того, при использовании эмуляции есть возможность получить информацию о приблизительном уровне производительности для того или иного устройства.
Android Studio включает в себя инновационные инструменты для упаковки и маркировки кода, которые помогут не потеряться в обширном проекте. Также в программе, реализована функция Drag-n-Drop, которая позволяет перетаскивать компоненты проекта прямо в окне среды разработки. Для реализации возможности отправки будущим приложением Push-уведомлений, в пакет Android Studio есть специальный инструментарий под названием Google Cloud Messaging. Еще данная SDK сильно упрощает процесс локализации приложений.
Статья была начата, когда студия существовала в бета-версии. По мере развития среды разработки в статью будут добавляться новые материалы.
15 мая на конференции Google I/O 2013 объявили о новой среде разработки Android Studio . Основой для новой IDE стала платформа IntelliJ от компании JetBrains. Скачать новую среду разработки можно по адресу https://developer.android.com/studio/index.html .
7 февраля вышла версия 3.3.1. 5 марта 2019 вышел финальный релиз студии версии 3.3.2. Исправлены баги.
На конференции Google I/O 2018 в мае 2018 года представили предварительную версию 3.2 с новыми возможностями. 24 сентября 2018 вышел релиз.
Добавлен новый шаблон Fragment+ViewModel .
26 марта 2018 вышла финальная версия 3.1. Внешне сильных изменений немного. Очередной раз переделали Palette для компонентов.
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-репозиторием и новые версии собственных библиотек теперь доступны только из него. В новых проектах доступно из коробки, в старых нужно прописывать вручную.
23 ноября 2015 объявили о выходе Android Studio 2.0 Preview. Финальная версия вышла 7 апреля 2016 года. Основные революционные изменения - переработанный эмулятор с сервисами Google, камерой, GPS, который работает намного быстрее и новая функция «Instant Run», которая позволяет почти мгновенно обновлять запущенное под отладкой мобильное приложение при изменении исходного кода.
Скорость эмулятора ускорилась в 3 раза, чем предыдущая версия. А скорость передачи приложения в 10 раз быстрее, чем на реальное устройство.
GPU profiler - появилась версия профилировщика рендера средствами GPU. С помощью этого инструмента разработчики могут анализировать время рендеринга элементов в каждом кадре и находить «узкие места».
Функция Instant Run доступна и на эмуляторе, и на физическом устройстве, при условии что приложение собирается для версии Android «Ice Cream Sandwich» или старше.
19 ноября 2015 года вышла версия 1.5. Заметных изменений не видно, поправили баги, что-то там улучшили.
Появился новый мастер 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 . Выберите File | Project Structure | Cloud .
В версии 1.2 заметил новый шаблон Google AdMob Ads Activity для встраивания рекламы.
Также улучшили редактор кода. Например, если вы редактируете название открывающего тега, то закрывающий тег меняется автоматически. Также были немного переработаны некоторые некоторые детали интерфейса, добавлены новые вкладки.
В ситуации, когда вы хотите создать приложение для Android смартфонов, но при этом у вас не очень уверенные познания в программировании, вам нужно скачать Android Studio для Windows 10. Это бесплатное решение, созданное компанией Google, специально для разработки приложений для ОС Android любой версии. С недавних пор утилита доступна и для Windows 10.
Для вас доступен как визуальный редактор, так и панель для ввода кода. Какой способ создания приложения вам удобней, вы поймете в процессе. Но визуальный редактор служит больше для упрощения, нежели для полноценной работы. Все равно нужны знания в коддинге, а для создания графики потребуются дополнительные утилиты, например или его аналоги. После создания приложения вы сможете через удобный интерфейс загрузить его в маркет Google.Play, и если вы все сделали верно, то ваше приложение опубликуют.