Android Studio: 10 траблів початківця розробника і їх рішення
- Зміст статті Починаючи освоювати розробку для будь-якої платформи, ти обов'язково відразу ж натрапиш...
- 2. Смартфон на повідку
- 3. Бібліотеки
- 4. Іконки і кліпарт
- 5. Краш-репорти
- Продовження доступно тільки учасникам
- Варіант 2. Відкрий один матеріал
Зміст статті
Починаючи освоювати розробку для будь-якої платформи, ти обов'язково відразу ж натрапиш на безліч з першого погляду непомітних підводних каменів. Більшість з них будуть пов'язані з самим процесом кодинга: нестикування в API, приховані функції, обмеження, особливий стиль програмування для платформи. Є й камені, що лежать трохи віддалік: тестування і автоматична оптимізація, створення клипарта і іконок, отримання автоматичних краш-репортів. Недосвідчені розробники для Android ризикують відбити про них обидві ноги.
У цій статті ми розглянемо проблеми розробки для Android в контексті утиліт та інструментів. Ми позбудемося необхідності підключати смартфон за допомогою кабелю під час тестування і налагодження на пристрої, розщепити додаток на версії Lite і Pro, вбудуємо в нього механізм автоматичної генерації і відсилання на сервер краш-репортів, автоматизуємо тестування, обфусціруем і оптимізуємо код, а також за кілька хвилин створимо для додатка іконку і всі необхідні ресурси. Поїхали.
1. Повільний емулятор
Отже, ти накидав своє перше додаток, і пора його запустити і перевірити на працездатність. Для цього в комплекті Android SDK є емулятор. Довгий час йому дорікали за повільність, але з випуском Android Studio 2.0 ситуація набагато покращилася - x86-версія емулятора отримала хардварний прискорення, так що тепер він працює швидше реальних пристроїв. До того ж у нього з'явився зручний графічний інтерфейс, за допомогою якого можна симулювати дзвінки, СМС, змінювати дані GPS і збої в мережі, тобто все, для чого раніше доводилося використовувати інструменти командного рядка.
Тому, якщо ти ще не оновився, настійно рекомендую це зробити, не кажучи вже про перехід з Eclipse. І обов'язково вибирати x86-версію емулятора в AVD manager, ARM-версія не підтримує хардварний прискорення.
Новий емулятор Android Studio 2.0
2. Смартфон на повідку
Другий етап - тестування на реальному пристрої. Тут все просто: підключаєш смартфон по USB, встановлюєш драйвери, включаєш режим налагодження в настройках для розробників, після чого девайс з'являється в списку доступних для установки програми (поруч з емулятором). Проблема тільки в тому, що в даному випадку пристрій необхідно тримати підключеним до ПК за допомогою кабелю, а якщо це твій основний смартфон, на який надходять дзвінки та повідомлення, то про зручність годі й казати.
На щастя, Android Studio (а точніше, утиліта ADB, яку він використовує для зв'язку з пристроєм) підтримує роботу по мережі. Але цю функцію ще потрібно активувати. Якщо у тебе рутованних смартфон, то тобі пощастило: включити налагодження по мережі можна за допомогою програми WiFi ADB . Послідовність дій:
- Встановлюємо WiFi ADB, запускаємо, включаємо мережевий режим з допомогою перемикача і запам'ятовуємо IP-адреса.
- Запускаємо Android Studio.
- Відкриваємо консоль, переходимо в каталог з встановленим SDK, далі в platform-tools і запускаємо наступну команду:
$ Adb connect IP-адреса
Тепер, якщо спробувати зібрати і запустити додаток, ти побачиш в списку пристроїв також і свій смартфон. Ті, у кого немає root, можуть перезапустити ADB в мережевому режимі, попередньо підключивши його кабелем. Робиться це так:
- Підключаємо смартфон і встановлюємо драйвери.
- Включаємо режим налагодження в настройках для розробників.
- Відкриваємо консоль, переходимо в каталог SDK / platform-tools і запускаємо наступну команду:
$ Adb tcpip 5555
- Підключаємося до смартфону по мережі:
$ 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 , Реєструємося і додаємо новий додаток через панель управління (add app):
Після цього Splunk MINT покаже тобі рядок коду, яку необхідно вставити в код:
Продовження доступно тільки учасникам
Варіант 1. Приєднайся до товариства «Xakep.ru», щоб читати всі матеріали на сайті
Членство в співтоваристві протягом зазначеного терміну відкриє тобі доступ до ВСІХ матеріалами «Хакера», збільшить особисту накопичувальну знижку і дозволить накопичувати професійний рейтинг Xakep Score! Детальніше
Варіант 2. Відкрий один матеріал
Зацікавила стаття, але немає можливості стати членом клубу «Xakep.ru»? Тоді цей варіант для тебе! Зверни увагу: цей спосіб підходить тільки для статей, опублікованих більше двох місяців тому.
Де їх шукати і які бібліотеки краще?
Що робити?
Що робити, просити друзів надсилати тобі лістинг logcat?
Ru»?