Android studio російську мову. Встановлення Android Studio, налаштування SDK

Як створити мобільний додаток в 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 проект(почати новий проект).

У вікні 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

До активності додайте наступний атрибут:

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 25version .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")

Тут можна додати залежність сторонніх розробників. Бібліотеки автоматично завантажуються та інтегруються в 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 ​​і додайте наступне:

Зауважте питання, які ви можете повідомити “yes” або “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 = ("До нього нема", "Як можу повідомити про це", "Ви можете йти на нього", "Якщо ви не згодні", "Якщо ви не знаєте", "Він не згоден", "Signs point to yes","Yes definitely","Yes","My sources say NO");

У цьому невеликому відрізку коду ви встановили 4 змінні активності. Перший - рядки, які визначають можливі стани, інші три - елементи UI, які ви створили в макеті/розмітці.

Тепер замініть вміст методу onCreate() на наступні дані:

// 1:super.onCreate(savedInstanceState); // 2: setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); (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 - Створюємо контекстне меню для екранних компонентів в додатках Android.
Урок 15 - Програмне створення екрану в додатках андроїд. LayoutParams
Урок 16 - Створення та видалення елементів екрана в процесі роботи андроїд-додатку
Урок 17 - Динамічно змінюємо параметри елементів екрану в андроїд-додатку
Урок 18 - Робимо додаток калькулятор для андроїд
Урок 19 - Анімація компонентів екрану андроїд-програми
Урок 20 - Додавання Activity - створення багатоекранних програм
Урок 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 - збереження даних у додатках

Android Studio – офіційне середовище розробки додатків для відповідної операційної системи, покликане замінити собою Eclipse. Остання, до речі, на даний момент є найпопулярнішим інструментом у колі Android розробників. Процес розробки серед Android Studio став ще гнучкішим, ніж в головного конкурента. Це досягається за рахунок відображення всіх робочих файлів прямо в структурі проекту. Вкрай корисною є можливість бачити всі візуальні зміни проекту в режимі реального часу. Ще ця SDK дає можливість протестувати роботу майбутньої програми на різних пристроях. У вбудованому емуляторі Android девайсів можна встановити різноманітні технічні конфігурації та роздільну здатність екрану для тесту. Крім того, при використанні емуляції є можливість отримати інформацію про приблизний рівень продуктивності для того чи іншого пристрою.

Android Studio включає інноваційні інструменти для пакування та маркування коду, які допоможуть не загубитися в великому проекті. Також у програмі реалізована функція Drag-n-Drop, яка дозволяє перетягувати компоненти проекту прямо у вікні середовища розробки. Для реалізації можливості надсилання майбутнім додатком Push-повідомлень, у пакет Android Studio є спеціальний інструментарій під назвою Google Cloud Messaging. Ще ця SDK сильно полегшує процес локалізації додатків.

Ключові особливості та функції

  • вміє відображати всі зміни в режимі реального часу;
  • включає потужний емулятор Android-пристроїв;
  • має вкрай простий та зрозумілий інтерфейс;
  • дозволяє легко локалізувати програми;
  • підтримує можливість маркування коду.

Цей розділ сайту для тих, хто встановив Android Studio і не знає, з чого почати. Запропоновані тут програми працюватимуть як на смартфоні, планшеті, так і на Android-телевізорі. Для деяких програм можна завантажити готові APK-файли, перевірені на смартфонах з екраном від 4,5 до 6 дюймів. Обов'язково в установках пристрою поставте роздільну здатність установки програм з невідомих джерел. Іноді, через те, що пристрої відрізняються програмним забезпеченням, файл інсталяції необхідно буде запустити з провідника вашого пристрою.

AndroidStudio- це інтегроване середовище розробки IDE дляроботи з платформоюAndroid.Розглянемо основні вікна та вкладки Android Studio без яких ви не зможете рухатися навіть на самому початку. Палітра компонентів Palette розбита на категорії. Дерево компонентів Component Tree, де показані компонентидодатки, що будуються вже включені в проект. Властивості елемента екрана Properties , тут можна надавати властивостям вибраного елемента різні дозволені значення ще до запуску програми виконання. Проект програми Project, що показує файлову структуру проекту. Макет програми - це візуальне подання екрана пристрою, на якому буде працювати ваш додаток.


Зробіть пробний запуск програми, натиснувши зелений трикутник. При першому запуску програми андроїд-студія попросить вас визначитись із віртуальним пристроєм. Його необхідно створити. Можна підключити реальний пристрій за допомогою кабелю USB, наприклад, смартфон або планшет. На реальному пристрої увімкніть роздільну здатність USB .

Перейшовши у вкладку файлу MainActivity.java ви будете наповнювати цей файл програмним кодом мовою java. У роботі над програмним кодом використовуйте комбінацію клавіш Alt+Enter для швидкого виправлення помилок, таких як пропущений імпорт або значення змінної, відсутні посилання, підключення необхідних бібліотек. IDE по можливості виправить помилки, або запропонує найбільш слушне рішення. При цьому курсор має бути на рядку з червоними літерами. Комбінація Ctrl+D дозволяє швидко дублювати рядок або фрагмент коду. Просто виділіть потрібний вам код і натисніть Ctrl+D. Після тривалої роботи з програмним кодом його бажано відформатувати - привести в порядок для зручності читання. Відформатувати код можна клавішним акордом Ctrl+Alt+L. На скріншоті бачимо, що зараз відкритий файл activity_main.xml в режимі дизайну Design, де можна візуально конструювати екран програми, викладаючи на нього готові елементи. Під час верстки екрана прив'язуйте його компоненти до меж цього екрана. В іншому випадку на пристроях з іншою роздільною здатністю компоненти зміщуватимуться за межі екрана. Щоб редагувати файл activity_main.xml, вручну перейдіть до режиму Text .

Після завершення роботи над проектом програми необхідно створити інсталяційний apk-файл для пристрою. У студії другої версії в меню виконайте Build-Build APK. Через деякий час з'явиться невелике окреме вікно з повідомленням: Build APK APK(s) generated successfully Show in Explorer . Клікнувши на посилання, відкриєте папку в якій буде розташований готовий файл інсталяції app-debug.apk . Цей файл можна копіювати на пристрій для інсталяції програми. Попередньо файл можна перейменувати обов'язково залишивши колишнє розширення apk, інакше пристрій не зрозуміє, що цей файл призначений для встановлення Android-програми. У студії третьої версії виконайте Build - Build APK(s)і в вікні, що з'явилося, клікніть за посиланням locate.

Якщо за основу побудови своїх перших додатків ви візьмете ці сторінки, то додатки необхідно розглядати по порядку, оскільки кожен наступний додаток зазвичай потребуватиме відомостей викладених у попередніх. Додаток краще розбити на частини та рухатися у його побудові поетапно. Спочатку добийтеся, щоб перший елемент не просто лежав на екрані, а працював. І лише потім приступайте до наступного елемента.

В.М. Коробіцин

Додаток 1Заголовок екрана програми. Робота із ресурсами зображень. Обробка натискання зображення. Завершення роботи програми.

Додаток 2Найпростіша анімація. Орієнтація екрана програми.

Додаток 3Створення класу MediaPlayer для відтворення mp3, wav, mid, wma, amr. Методи класу MediaPlayer.

Додаток 4Найпростіша анімація з відтворенням wav та mp3.

Додаток 5Загадка магічний квадрат. Перехід із програми на сайт в інтернеті.

Додаток 6Обробник натискання кнопки. Активність кнопки. Годинник та календар. Смуга заголовка програми. Панель повідомлень.

Додаток 7Псевдовипадкові числа. Клас Random. Методи класу Random. Виведення числових змінних у TextView.

Додаток 8Числові змінні. Математичні події. Введення числових значень за допомогою EditText.

Додаток 9Циклічний дизайн for. Виведення-додавання числових змінних у TextView з використанням методу append.

Додаток 10Генератор квадратних рівнянь з урахуванням теореми Виета.

Додаток 11Розгалуження if else. Розв'язання квадратного рівняння.

Додаток 12Обчислення певного інтеграла методом прямокутників.

Додаток 13Обчислення певного інтегралу шляхом трапецій. Циклічна конструкція while.

Починаючи освоювати розробку для будь-якої платформи, ти обов'язково відразу ж натрапиш на безліч з першого погляду непомітного підводного каміння. Більшість із них будуть пов'язані з самим процесом кодингу: нестикування в API, приховані функції, обмеження, особливий стиль програмування для платформи. Є й камені, що лежать трохи віддалік: тестування та автоматична оптимізація, створення кліпарта та іконок, отримання автоматичних краш-репортів. Недосвідчені розробники для Android ризикують відбити обидві ноги.

У цій статті ми розглянемо проблеми розробки для Android у контексті утиліт та інструментів. Ми позбавимося необхідності підключати смартфон за допомогою кабелю під час тестування та налагодження на пристрої, розщепимо додаток на версії Lite та Pro, вбудуємо в нього механізм автоматичної генерації та відсилання на сервер краш-репортів, автоматизуємо тестування, обфусцуємо та оптимізуємо код, а також за кілька хвилин створимо для додатку іконку та всі необхідні ресурси. Поїхали.

1. Повільний емулятор

Отже, ти накидав свій перший додаток, і настав час його запустити і перевірити на працездатність. Для цього в комплекті Android SDK є емулятор. Довгий час його дорікали за повільність, але з випуском Android Studio 2.0 ситуація набагато покращилася - x86-версія емулятора отримала хардварне прискорення, тому тепер він працює швидше за реальні пристрої. До того ж у нього з'явився зручний графічний інтерфейс, за допомогою якого можна симулювати дзвінки, СМС, змінювати дані GPS та збої в мережі, тобто все, навіщо раніше доводилося використовувати інструменти командного рядка.

Тому, якщо ти ще не оновився, рекомендую це зробити, не кажучи вже про перехід з Eclipse. І обов'язково вибирати x86-версію емулятора у AVD manager, ARM-версія не підтримує хардварне прискорення.

2. Смартфон на повідку

Другий етап – тестування на реальному пристрої. Тут все просто: підключаєш смартфон по USB, встановлюєш драйвери, включаєш режим налагодження в налаштуваннях для розробників, після чого девайс з'являється в списку доступних для установки програми (поряд з емулятором). Проблема тільки в тому, що в даному випадку пристрій необхідно тримати підключеним до ПК за допомогою кабелю, а якщо це твій основний смартфон, на який надходять дзвінки та повідомлення, про зручність говорити не доводиться.

На щастя, Android Studio (а точніше утиліта ADB, яку він використовує для зв'язку з пристроєм) підтримує роботу по мережі. Але цю функцію ще потрібно активувати. Якщо у тебе рутований смартфон, то тобі пощастило: увімкнути налагодження по мережі можна за допомогою WiFi ADB. Послідовність дій:

  1. Встановлюємо WiFi ADB, запускаємо, включаємо мережевий режим за допомогою перемикача та запам'ятовуємо IP-адресу.
  2. Запускаємо Android Studio.
  3. Відкриваємо консоль, переходимо в каталог із встановленим SDK, далі в platform-tools та запускаємо наступну команду:

    $adb connect IP-адреса

Тепер, якщо спробувати зібрати та запустити програму, ти побачиш у списку пристроїв також і свій смартфон. Ті, хто не має root, можуть перезапустити ADB у мережному режимі, попередньо підключивши його кабелем. Робиться це так:

  1. Підключаємо смартфон та встановлюємо драйвери.
  2. Включаємо налагодження в налаштуваннях для розробників.
  3. Відкриваємо консоль, переходимо до каталогу SDK/platform-tools та запускаємо наступну команду:

    $adb tcpip 5555

  4. Підключаємося до смартфону через мережу:

    $adb connect IP-адреса

IP-адресу можна дізнатися за допомогою параметрів: «Про телефон (Про планшет) → Загальні відомості», пункт «IP-адреса».

3. Бібліотеки

Окей, твій накиданий за півгодини огризок начебто працює, і настав час перетворити його на даний додаток з гарним інтерфейсом та віджетами для робочого столу. На цьому етапі тобі, напевно, знадобляться зовнішні бібліотеки, що реалізують різні концепції інтерфейсу, патерни програмування та зв'язок із зовнішніми сервісами. І якщо з останніми все ясно (потрібний SDK для Dropbox - відкриваєш портал для розробників і дотримуєшся інструкцій), то з рештою вже складніше. Де їх шукати та які бібліотеки краще?

Найбільш повний каталог бібліотек - це Android Arsenal. Там ти знайдеш практично все, що тобі потрібне. Доступний зручний пошук та сортування за рейтингом, для кожної бібліотеки є інструкція, як її підключити до свого проекту, у тому числі за допомогою стандартної для Android системи складання Gradle: достатньо додати репозиторій у файл build.gradle проекту та вказати бібліотеку у списку залежностей.


Відмінний список must have бібліотек ти знайдеш на цій сторінці. Від себе додам, що на перших етапах варто одразу вивчити Dagger 2, RxJavaі Retrofit. Ставши розвиненим розробником, ти так чи інакше прийдеш до використання цих бібліотек.

4. Іконки та кліпарт

Нарешті, через дні чи тижні, у тебе починає вимальовуватися повноцінний додаток. Ось тільки жодного графічного матеріалу немає досі: стандартна іконка, у формі зеленого робота, замість кліпарта - заглушки. Очевидно, без графіки потикатися в маркети безглуздо, однак і платити за іконку для свого першого додатка теж безглуздо. Що робити?

Насправді, іконку можна згенерувати. Є чудовий веб-сервіс Android Asset Studio, за допомогою якого буквально за пару хвилин ти отримаєш гарну іконку у всіх можливих дозволах. Як основа можна взяти підготовлену тобою картинку, просто написати текст або, що найкраще, вибрати з наданого сервісом кліпарта. Також ти зможеш встановити стиль іконки (кругла, квадратна, в стилі iOS…), колір, налаштувати тіні та інші параметри. В результаті в твоєму розпорядженні з'явиться архів ic_launcher.zip, який необхідно розвернути в каталог AndroidstudioProjects/ІМ'Я_ДОДАТКИ/app/src/main/res. Обов'язково створи веб-іконку, натиснувши кнопку «Generate web icon». Вона тобі знадобиться.


Той самий сервіс дозволяє створити іконки для ActionBar'а та рядки стану . Принцип приблизно той самий, скажу лише, що в рядку стану найкраще виглядають іконки з відступом від країв 15%.

Крім того, тобі знадобиться так звана Feature Image. Це спеціальна картинка, яку Play Market та інші магазини програм використовують як плашку у верхній частині екрана (коли відкриваєш сторінку програми на смартфоні). Її можна згенерувати за допомогою іншого сервісу. Для оформлення скріншотів можна використовувати офіційний сервіс від Google. Він створює навколо скріншоту рамку смартфона.

5. Краш-репорти

Програма готова, іконка є, зручний інтерфейс, код якісний. Настав час тестування, і перше, що ти робиш, - розсилаєш додаток друзям та знайомим. Але ось невдача: у деяких з них додаток падає, а в тебе все працює чудово, і повторити дії, що призвели до падіння, ти не можеш. Що робити, просити друзів надсилати тобі листинг logcat?

Ні, нам потрібна система краш-репортингу. Таких існує безліч, і всі вони реалізують один і той же принцип роботи: до додатку підключається невелика бібліотека, яка в момент падіння записує стектрейс та інші дані про падіння і відправляє їх на сервер, а потім спеціальний веб-інтерфейс формує на їх основі красиві та наочні звіти.

Одна з найпопулярніших таких систем - Fabric, проте я рекомендую подивитися у бік Splunk MINT: він безкоштовний, простий і легко інтегрується в додаток (достатньо додати лише один рядок коду). Щоб почати ним користуватися, необхідно підключити до проекту SDK, зробити це можна за допомогою того ж Gradle. Відкриваємо файл build.gradle (той, що стосується програми, а не всього проекту) і додаємо наступні рядки:

Repositories (maven (url "https://mint.splunk.com/gradle/")) dependencies (compile "com.splunk.mint:mint:5.0.0")


Після цього Splunk MINT покаже тобі рядок коду, який потрібно вставити в код:

Продовження доступне лише передплатникам

Варіант 1. Оформи передплату на «Хакер», щоб читати всі матеріали на сайті

Підписка дозволить тобі протягом зазначеного терміну читати ВСІ платні матеріали сайту. Ми приймаємо оплату банківськими картками, електронними грошима та переказами з рахунків мобільних операторів.