Найти тему
Просто прогер

Что нужно знать для создания приложений на Android?

Оглавление

В середины весны 2019 года решил разобраться с приложениями на Андроиде, хочу поделиться с какими вопросами я столкнулся.

Источник изображения: Гугл.Картинки
Источник изображения: Гугл.Картинки

Стартовые знания

Я уже плотно работал с C#, до этого был знаком с работой БД, html-вёрсткой (описываю только те стартовые знания, которые пригодились).

Дизайн

Дизайн приложения делал в Proto.io
Больше нечего описывать, следовал минимализму в создании (ибо я ленивый).

Вёрстка приложения

В целом она напоминает html-вёрстку, но только более строгие условия. Если допущена грубая ошибка в одном из элементов, то приложение может даже не запуститься.

Вообще есть два вида вёрстки:
1. Это старый, похожий на html.
2. Новый: ConstraintLayout.

В начале я верстал по старым технологиям, чтобы быстрее заняться программированием. Но любопытство победило. Не сделав, даже 1 годного приложения - изучил ConstraintLayout. И не зря.

ConstraintLayout помогает существенно сократить время вёрстки, этот способ вёрстки привязывает разные элементы друг к другу и позволяет адаптировать их относительно контента и друг друга.

На анимации ниже, можно посмотреть, как это работает.

Взято со страницы: https://medium.com/@nickand/fun-with-constraints-layout-8d4ea83166db
Взято со страницы: https://medium.com/@nickand/fun-with-constraints-layout-8d4ea83166db

Более подробно на русском можно прочитать тут.
Если английский не пугает, то лучше вообще прочитать в официальной документации.

Программирование

Для андроида можно программировать на Java или Kotlin. Выбрал первое из-за большего количества библиотек. Запускал по классике на Android Studio.

Вообще много чего пробовал в сфере программирования. Обычно следую принципу: все языки похожи, сразу программируй, что-то не знаешь - нагугли.
И обычно это прокатывает... Но не с Java. У этого ЯП есть некоторые нюансы, о которых стоит знать заранее.

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

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

Тестирование

Многие жалуются на долгий запуск эмуляторов, упаковки apk и прочего... Тут действительно могут возникнуть проблемы с железом. Кто-то советует запускать на Маке, кто-то апгрейдить железо.

Я просто запускал всё на арендованном сервере (мне так удобнее). Параметры: SSD, ОЗУ 32 ГБ, процессор - intel core i7 4790k. На нём проблем не наблюдал.

Прогонял на разных эмуляторах, посмотрел с пары телефонов, всё ок.
Но в продакшене могут возникнуть проблемы со отдельными моделями - это норм, и надо будет фиксить. Заранее предсказать трудности сложно.

Выгрузка приложения в Google.Play

Заплати 25$ и вперёд.

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

Модерация перед публикацией может занимать до 1 недели. Обычно быстрее.

Нюансы платного продвижения

Помимо выгрузки приложения я решил ещё попробовать запустить на него рекламу с Адвордса.

Модерацию проходил целую неделю, так как всегда возникали какие-то траблы. В общем всё есть в справке, но прочитал я не всё :D

Что необходимо учесть перед рекламой?

  1. Заголовок должен быть без смайликов и других знаков (включая знак вопроса).
  2. Необходимо для каждого объявления и медиафайла рекламы (видео, скриншот и т.д.) ставить значок возрастного ограничения.
    Вообще вопрос возрастного ограничения в рекламе возник только на контентом приложении, но всё-таки лучше перестраховаться.
  3. Для оптимизации бюджета лучше использовать не параметр "установки", а "возврат пользователей в приложение". Для второго придётся установить аналитику внутри приложения и настраивать конверсии самостоятельно.
    Зато Адвордс будет приводить тех людей, которые не просто скачивают приложения, а ещё и заходят через какое-то время.

Такие вот дела.

Если было полезно - ставьте лайк и подписывайтесь на канал!