Як створити свій додаток для Android: покрокова інструкція та особливості

У 2008 році компанія Google вперше випустила операційну систему Android, яка відразу ж завоювала серця любителів гаджетів. Розробники зробили нову ОС безкоштовною і з відкритим вихідним кодом. Крім цього факту, стрімкий розвиток “Андроїд” відбулося за рахунок великої політики підтримки розробників. Таким чином, у сферу девелопменту кинулися сотні вільних програмістів.

В той час було написано багато настанов про те, як створити додаток для iOS, а от серйозних мануалів для Android було мало.

Робота операційної системи Android заснована на ядрі Linux. А кожна програма виконується в окремій віртуальній машині. Їх код для ОС “Андроїд” пишеться на мові програмування високого рівня (Java. Однак якщо потрібно створити продукт, що використовує доступ до пристроїв безпосередньо чи потрібно максимальну швидкодію, застосовується NDK — набір для розробки на C++.

На даний момент офіційний магазин Google Play містить близько 2 млн програмних продуктів, так як створити мобільний додаток сьогодні може кожен.

Як створити свій додаток

Для написання програмного коду для Android додатки застосовується спеціальна середовище розробки. З моменту створення операційної системи для програмування використовувалися продукти Eclipse і IntelliJ IDEA. Для цього були випущені плагіни, спеціально орієнтовані для створення додатків “Андроїд”. Однак після виходу офіційної середовища розробки від Google – Android Studio, плагіни перестали підтримуватися і програмування тепер відбувається переважно в цьому програмному комплексі.

Для того, щоб Android Studio міг працювати в системі, в ній повинна бути Java Development Kit — безкоштовний комплекс для розробки, в який входить компілятор Java-коду, бібліотеки і JRE — середовище виконання. Крім JDK, для створення програми знадобиться завантажити Android SDK — набір компонентів для розробки безпосередньо для Android, що містить комплекс тестування і налагодження додатків. З допомогою даних засобів автоматизації написати першу програму так само легко, як створити додаток “Вконтакте”.

Середовище розробки

В першу чергу встановлюється свіжа версія JDK, завантажити яку можна з офіційного сайту компанії Oracle. Потім інсталюється Android Studio, доступна для завантаження з developer.android.com. Після установки середовище зможе самостійно завантажити Android SDK, провівши користувача з усім необхідним етапам.

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

  • вихідний код програми, розміщений у файлах DEX;
  • додаткові ресурси, що знаходяться в папці assets;
  • ресурси для відображення;
  • головний файл архіву — AndroidManifest, в якому вказані дозволи для програм, вимоги до версій, список беруть участь у роботі класів і т. д.

При запуску програми віртуальна машина Dalvik, або діє з версії Android 5.0″ система Art, створює окремий процес, в якому на льоту компілюється виконуваний код.

Перші кроки

Перед тим як створити свій додаток, Android Studio запропонує кілька варіантів розвитку подій. Потрібно вибрати перший — створити новий проект Android Studio.

Далі програма попросить вказати назву майбутнього додатки, домен компанії і фізичне розташування проекту на диску комп’ютера.

В наступному вікні потрібно буде ввести мінімальну версію Android, на якій зможе працювати додаток. При виборі різних варіантів в описі нижче буде вказано, який відсоток пристроїв з поточними параметрами зареєстрований в Google Play. Це дозволяє вибрати найбільшу аудиторію для свого продукту. Так як створити нові програми може кожен, конкуренція в сфері це величезна. А значить, чим більше буде охоплення, тим краще.

На наступному кроці система представить кілька стандартних схем розмітки програми. Вони відповідають за розташування компонентів на екрані. Найпростіший варіант для того, щоб створити додаток для Android — порожня розмітка. Після натискання по кнопці Next, програма перекине розробника безпосередньо в редактор коду.

Анатомія програмування для Android

Щоб створити додаток самостійно, потрібно зрозуміти структуру проекту. У лівому вікні розташована ієрархія елементів майбутньої програми. У кореневому розділі app містяться всі підкаталоги програми.

Папка manifests містить головний файл будь-якої програми для Android — AndroidManifest. Він несе в собі безліч технічної інформації для роботи програми. У більшості випадків вручну правити його не доведеться, так як SDK найчастіше автоматично генерує потрібні рядки та їх параметри.

Папка java містить основний вихідний код. Тут розташовані файли з розширенням .java. У них і буде відбуватися більша частина розробки.

У папці res визначені кілька папок з ресурсами. Підкаталог drawable призначений для графічних файлів, необхідних для візуального оформлення проекту. Layout містить файли з розширенням .xml, які визначають характеристики і розташування елементів на екрані — кнопки, текстові поля, перемикачі і т. д. Всередині mipmap копіюються іконки програми в декількох дозволах для оптимізації на різних діагоналях екранів. Саме з цієї папки буде братися зображення для створення іконки на робочому столі гаджета. В каталозі values визначаються постійні величини, періодично необхідні для застосування. Наприклад, коди кольорів, рядки для часто зустрічаються кнопок і описів, характеристики стилів.

Розділ Gradle Scripts створений для зберігання службової інформації. Вона потрібна для системи складання проектів Gradle, яка на основі введених параметрів збере і скомпилирует проект.

Безпосередньо код

Перед тим як створити додаток в ВК, необхідно пройти курс хоча б поверхневого навчання його API і мови. Також і тут, потрібно буде попередньо підтягти знання з Java.

Головний клас, створюваний за замовчуванням, називається MainActivity.java. Саме з нього почнеться завантаження програми на пристрої. Android Studio сама вже автоматично згенерувала необхідний для першого запуску код.

Перед тим як створити свій додаток, потрібно зрозуміти базові принципи і розібратися в написаному.

Верхній рядок package відповідає за розташування файлів проекту. Import показує нам, які бібліотеки були завантажені.

Класи і методи

Сам клас починається з специфікатора доступу public. Він служить для розмежування прав на використання класів. Слово public говорить про те, що MainActivity.java відкритий і його можна використовувати з інших місць проекту. Далі йде ключове слово class, його ім’я і найцікавіше — extends. Цей термін означає, що поточний клас успадковується від Activity. А стало бути, і отримує всі його методи і поля.

Тіло класу обгороджене фігурними дужками. Всередині них розташовані методи і поля, що утворюють структуру всього коду.

@Override — це анотація, яка попереджає про те, що наступний за нею метод буде скасоване. Це означає, що потрібно взяти його з класу-батька і додати в нього унікальні для даного коду зміни. Таким чином Java працює механізм спадкування.

Після анотації слід спецификатор доступу protected, який означає, що до даного методу можна буде звернутися, як у цьому класі, так і з спадкоємців, і ніде більше.

Ключове слово void показує тип методу, а точніше те, що він повинен повернути у результаті роботи. Даний тип говорить про те, що нічого не повертає, а лише виконує те, що знаходиться в тілі. Методи можуть мати типи String, int, double і інші, в залежності від значень.

Ім’я OnCreate — це ім’я переопределенного методу з батьківського класу Activity. Щоб показати системі виконання, що викликається саме те, що треба, в тіло додається ключове слово super з викликом OnCreate.

Наступна рядок представляє не менший інтерес. Метод setContentView() «прикручує» до класу MainActivity.java файл розмітки, кажучи йому, як повинен виглядати екран даної Activity.

Відображення

За те, які елементи буду розташовані на екрані, відповідають файли розмітки. Вони містять рядка з параметрами, в яких вказані константные або змінні значення. Даний мова розмітки виконаний по специфікації XML. Таким чином формат оголошення параметра строго стандартизовані.

Щоб правильно створити додаток для Android, треба трохи розібратися в розмітці. Android Studio люб’язно сама згенерувала простий файл.

Елементи екрану

Кореневий контейнер розмітки в даному випадку — RelativeLayout говорить про те, що всі елементи всередині нього будуть розміщуватися відносно. Він містить два параметри — android:layout_width=”match_parent” і android:layout_height=”match_parent”. Перший позначає ширину контейнера RelativeLayout, а другий — його висоту. Константа match_parent говорить про те, що обидва показники повинні відповідати батьків, а стало бути, елемент розгорнеться на весь екран.

Далі в RelativeLayout вкладений TextView, який являє собою не що інше, як звичайну напис.

У ньому є знайомі параметри layout_width і layout_height, атрибут яких дорівнює wrap_content, що значить — навколо вмісту. Тобто розміри елемента будуть підлаштовані під обсяг тексту.

Наступні два параметри означають вирівнювання тексту всередині елемента.

Параметр padding бере цифрове значення для відступу написи з папки з ресурсами value.

Самий головний параметр для напису — рядок з текстом. Її можна вписати прямо в атрибут, але це називається хардкод і вважається неприпустимим, так як може сильно ускладнити локалізацію програми. Варто звернути увагу на те, що дані, які потрібно відобразити, а саме текстовий рядок, також береться з файлу strings.xml, що в папці values.

Перший запуск

Штатний емулятор пристрою Android вимагає просто надприродною продуктивності. Можна запустити додаток на ньому, або завантажити та встановити альтернативний аналог, іменований Genymotion.

Запуск програми здійснюється шляхом натискання зеленої кнопки Run, на панелі керування Android Studio. Якщо ніяких помилок при складанні проекту не буде виявлено, то додаток запуститься і привітає світ.

Висновки

Ось тепер стало зрозуміло, як створити мобільний додаток.

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