- Как сделать приложение для Android самостоятельно
- Необходимые инструменты
- Из чего состоит приложение на Android
- Создаём Android-приложение в Android Studio
- Шаг 1
- Шаг 2
- Шаг 3
- Шаг 4
- Новости Android-разработки, на которые стоит подписаться
- Блоги
- Подкасты
- Видео
- Дайджесты
- Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity
- Android Studio
- Конфигурация приложения и зависимости
- Создание подписанного приложения
- Google Play Console
- Digital Asset Link
- Готово
- Заключение
Как сделать приложение для Android самостоятельно
Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.
Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.
Создание простейшего приложения состоит из нескольких этапов:
- проект в Android Studio;
- создание пользовательского интерфейса;
- добавление активностей, навигации и действий;
- тест-драйв приложения в эмуляторе.
А пока мы описываем азы, студенты курса «Профессия Мобильный разработчик» уже получают деньги за свои приложения.
Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.
Необходимые инструменты
Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.
Если на компьютере не установлены Android SDK и другие компоненты, то Android Studio автоматически скачает их. Android SDK — это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.
Android SDK компилирует код вместе с любыми данными и ресурсами в файл с расширением .apk. Он содержит всё необходимое для установки приложения на Android-устройство.
Полезно установить и эмулятор Android, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с Android Studio.
Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.
Из чего состоит приложение
на Android
Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.
- Активность (activity) — элементы интерактивного пользовательского интерфейса.
Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения — ссылкам между ними. Запуск приложения — это активность Main. - Сервис (service) — универсальная точка входа для поддержания работы приложения в фоновом режиме.
Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса. - Широковещательный приемник (broadcast receiver) транслирует нескольким участникам намерения из приложения.
Теперь попробуем сделать своё приложение для Android.
Создаём Android-приложение
в Android Studio
Шаг 1
Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.
Шаг 2
Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).
Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.
Шаг 3
Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.
Шаг 4
После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.
Источник
Новости Android-разработки, на которые стоит подписаться
В этом году Андроиду стукнет 10 лет, но разработка приложений не превратилась в закостеневшую рутину, а продолжает активно меняться: достаточно посмотреть, насколько за год изменилась ситуация с Kotlin. Значит, Android-разработчику надо держать руку на пульсе, следя и за происходящими событиями, и за полезными блог-постами.
А где именно в интернете это делать? Мы собрали вместе ссылки на самые разные полезные интернет-ресурсы, включая наш собственный.
Блоги
Смело предположим, что хаб «Разработка под Android» вам уже известен. Разберём теперь остальное.
Самый очевидный ресурс — официальный Android Developers Blog, где Google сообщает о всех важных новостях со своей стороны.
Остальные Android-блогеры чаще всего предпочитают платформу Medium (есть и такие, что до сих пор пользуются Google+, но это вымирающий вид). И появилось два заметных тематических сайта, работающих на той же платформе: ProAndroidDev и AndroidPub. Оба представляют собой маленькие некоммерческие издания: есть несложные правила публикаций, есть несколько редакторов, и любой желающий может предложить для публикации там свой пост (выйдя таким образом на более широкую аудиторию, чем если опубликует его в обычном Medium-аккаунте).
За пределами Medium тоже есть заметные блоги: отметим Styling Android (как несложно догадаться, про UI/UX) и CommonsBlog (настолько не про UI, что у постов даже нет иллюстраций).
Если вы пользуетесь RSS-читалкой, вам может пригодиться OPML-файл, где мы собрали всё упомянутое и ряд других блогов — сможете видеть все их обновления в одной ленте.
Часть движухи происходит в Твиттере — кого там зафолловить, чтобы не пропустить интересное и ценное? Ну, понятно, Джейка Уортона, а дальше?
Недавно как раз был составлен твиттер-список из сотни обладателей звания Google Developer Expert, позволяющий читать их всех в одной ленте. Не факт, что вся эта лента вам подойдёт (начнём с того, что некоторые её участники пишут на японском и испанском). Но можно почитать её несколько дней и определиться, кого из этих людей хочется добавить в свою личную ленту.
Подкасты
- Android Dev Подкаст — тут всё понятно уже по названию (его премьера два года назад, кстати, состоялась как раз на Хабре)
- Podlodka — тут рассматривают не конкретно Android, а мобильную разработку в целом
- Fragmented — главный англоязычный Android-подкаст
- Android Developers Backstage — англоязычный подкаст, созданный непосредственно гуглерами
- Talking Kotlin — англоязычный подкаст от JetBrains о понятно каком языке
Видео
Кнопка «подписаться» есть и на YouTube — на каких каналах её стоит нажать?
Есть официальный Android Developers — там и анонсы, и записи с Google I/O, и не только.
Есть много каналов, где размещают видеозаписи докладов: от JetBrains TV, где есть все доклады с KotlinConf, до нашей конференции Mobius. Перечислять все бессмысленно — если вам лично какая-то конференция близка, введите название в поиске YouTube и с высокой вероятностью найдёте её канал.
Есть небольшой проект Android Dialogs — в основном там видеоинтервью с заметными участниками сообщества, а прямо сейчас выходит серия роликов в любопытном формате «ведущий с гостем вместе открывают Android Studio и разбираются с Dagger».
А за пределами YouTube из регулярно обновляющегося есть, например, caster.io — сайт с короткими обучающими видео для мобильных разработчиков, каждое из которых раскрывает какой-то конкретный вопрос. Часть из роликов бесплатная, часть платная.
Реддит (и, в частности, интересующий нас сабреддит Developing Android Apps) отличается по формату от всего остального в этом тексте. Большинство записей — ссылки на какой-то другой сайт, но есть и уникальный контент. Редкий для интернета случай, когда комментарии бывают ценнее исходной записи (среди активных комментаторов есть Джейк Уортон, да и в целом это возможность увидеть срез мнений сообщества). Зачастую постят какую-то ерунду или вопросы, которым место на Stack Overflow, но апвоуты помогают заметить среди записей стоящие. Иногда устраивают формат Ask Me Anything, когда представители определённого проекта отвечают на любые вопросы о нём.
Дайджесты
Возможно, к этому моменту вместо вопроса «где брать новую информацию» вас уже интересует вопрос «как не лопнуть от новой информации». Полезных ресурсов в интернете много, а вот личные ресурсы на их изучение не бесконечные — следить сразу за Medium, Twitter, YouTube, Reddit и подкастами тяжеловато.
Тут помогают дайджесты, авторы которых следят за происходящим и собирают самое заметное в удобные подборки. Изучать по дайджесту в неделю куда проще, чем прыгать каждый день по куче лент в разных сервисах. Назовём несколько:
- Android Weekly — главный Android-дайджест в мире
- Kotlin Weekly — тут конкретно про Kotlin, распространяется как почтовая рассылка, но если вам удобнее веб, переходите по ссылкам из Твиттера
- Android Good Reads — русскоязычный Telegram-канал Егора Толстого
- Дайджест интересных материалов для мобильного разработчика — эту серию хабрапостов вы и сами можете знать (там как Android, так и iOS)
И, наконец, мы сами (JUG.ru Group, организаторы конференции Mobius) недавно стали публиковать собственный Android-дайджест. У нас уже стала традицией еженедельная подборка новостей «серверной Java» на jug.ru — а теперь решили, что этот сайт может приносить пользу и тем, кто Java/Kotlin использует для Android.
Зачем ещё один дайджест, когда их по всему миру уже создан целый ряд? Нам кажутся важными некоторые вещи, и не увидели, чтобы где-то были воплощены они все:
- Мы хотим делать дайджест не обезличенным набором ссылок, а живым цельным текстом, который интересен и полезен, даже если не переходить ни по одной ссылке из него. Кроме самих ссылок, там могут встречаться и ценный контекст, и едкий сарказм.
- Мы считаем, что лучше, когда дайджест написан на русском. Понятно, что у большинства Android-разработчиков всё хорошо с английским, да и ссылки из дайджеста в большинстве случаев ведут на англоязычные ресурсы. Но когда хочется быстро и без напряжения понять, что произошло за неделю, родной язык остаётся вне конкуренции.
- Мы не пытаемся «собрать вообще всё появившееся за неделю», а выбираем то, что показалось самым интересным и важным. Разумеется, этот выбор отчасти субъективен и может не совпадать с чьим-то ещё.
- Мы хотим не просто собирать блог-посты, но и освещать события, позволяя понять не только «что написали на этой неделе», но и «что произошло на этой неделе». От обновления Android Studio до особо яркой дискуссии на Reddit — всё, что помогает оставаться в контексте происходящего.
В общем, теперь каждый четверг к вечеру на jug.ru появляется по тексту о прошедшей неделе, вот сегодняшний. Чтобы не пропускать новые выпуски, можете подписаться или на RSS дайджеста, или на Twitter-аккаунт конференции Mobius (позже хотим добавить возможность подписаться по почте).
Наверняка мы сами знаем не все полезные Android-ресурсы, и наверняка наш дайджест можно сделать лучше — так что будем рады дополнениям и пожеланиям в комментариях.
Источник
Как сделать из сайта приложение и выложить его в Google Play за несколько часов. Часть 2/2: Trusted Web Activity
В первой части мы превратили наш сайт в Progressive Web App. Там же было сказано, что совсем недавно, 6 февраля 2019 года, Google предоставили простую возможность выкладывать PWA в Google Play при помощи Trusted Web Activity. Всё, что нужно сделать, это написать небольшую обёртку под Android, которую можно будет выложить в Google Play. Когда пользователь скачает такое приложение-обёртку, оно просто будет открывать наше PWA внутри Chrome. Конечно же, интерфейс Chrome будет спрятан и всё будет выглядеть красиво.
Если вы, как и я, никогда не писали приложений под Android, то дальнейшее вам тоже должно показаться чередой магических манипуляций. Но к чему только не прибегнешь, чтобы выложить своё приложение. Поехали!
Android Studio
Для начала скачиваем впервые в жизни Android Studio. Создаём новый проект и при этом выбираем «Add No Activity».
Далее конфигурируем свой проект:
Для Package name рекомендуется формировать название следующим образом: стартовая страница skorochtec.ru/app превращается в ru.skorochtec.app.
Конфигурация приложения и зависимости
Созданный проект имеет следующую структуру:
Нам нужно будет изменить AndroidManifest.xml, styles.xml (папка res/values) и оба файла build.gradle.
Также рекомендую в папках res/drawable и res/mipmap задать иконку приложения, иначе у вашего приложения будет стандартная иконка Android.
Некогда объяснять, просто скопируйте это себе 🙂
А вот тут нужно дать некоторые пояснения:
- versionCode необходимо будет менять при каждой новой сборке, а вот versionName менять необязательно;
- defaultUrl соответствует start_url из Web App Manifest;
- в assetStatements должен быть именно базовый url («skorochtec.ru» в моём случае);
- вся магия обеспечивается подключением custom-tabs в последней строке, используйте именно эту версию, так как она на 100% проходит тестирование в Google Play.
AndroidManifest.xml
Скопируйте это, поменяв package в теге (в самом верху).
Создание подписанного приложения
Всё готово к тому, чтобы выпустить приложение. Но его ещё нужно подписать. Для этого находим в панели инструментов build -> Generate Signed Boundle / APK… Выбираем APK:
Жмём Create new…
Создаём новое хранилище ключей и сам ключ в нём:
И наконец собираем и подписываем приложение:
Ура! Наш APK готов к выпуску!
Google Play Console
Чтобы выложить приложение, у вас должен быть аккаунт разработчика, который стоит $25. После покупки у вас появится доступ в Google Play Console. В ней несложно разобраться, но уточню один момент. На этапе загрузки вашего APK в консоль разработчика, вы увидите следующее:
Google как бы намекает, что мы криворукие и скорее всего потеряем свой ключ подписи, а значит не сможем потом обновлять приложение. А потому нам предлагают, чтобы мы подписывали наш APK, а вот конечное приложение уже подписывалось самим Google-ом. Рекомендую принять это условие.
Digital Asset Link
Не заметили ничего подозрительного в предыдущих действиях? Для создания приложения мы по сути использовали только адрес нашего сайта… Тогда что нам мешает прямо сейчас выпустить приложение, например, Twitter?
А мешает Digital Asset Link, который мы должны разместить на своём сайте, чтобы доказать, что у приложения и сайта один владелец (на основании ключа подписи приложения).
Делается это очень легко: находите в Google Play Console, Управление релизом -> Подписи приложений. Там будет сертификат для подписи приложений, сгенерированный Google (если вы последовали моей рекомендации и приняли условие). Вам нужно скопировать Цифровой отпечаток сертификата SHA-256.
И вставить его в digital asset links tool. А сгенерированное им положить в файл assetlinks.json, который должен быть доступен на сервере вашего сайта по пути .well-known/assetlinks.json.
Готово
Вот и всё! Выпускаем наше приложение, ждём несколько часов, пока Google его одобрит и, в конце концов, наслаждаемся его присутствием в Google Play Market!
Кстати, красивые картиночки экранов можно сделать в https://apptoolkit.io/.
Заключение
Что ж, мы прошли полный путь от сайта до приложения, он был не очень лёгким, но и не очень сложным. Технологии PWA и TWA ещё очень молодые и имеют ряд недостатков. Например, выпущенное таким образом приложение не откроется у пользователя, если Google Chrome версии 72+ не является браузером по умолчанию на его смартфоне. Так что готовьтесь пожертвовать частью пользователей ради скорости выпуска.
В App Store выложить приложение таким образом пока нельзя. Ну и в целом Apple отстаёт в плане поддержки этих технологий (надеемся, что не намеренно). Но область Progressive Web App быстро развивается и улучшается, поэтому можно надеяться, что в скором времени все мобильные браузеры станут её поддерживать, а существующие недочёты будут исправлены.
Как бы то ни было, я верю, что будущее за Progressive Web App и призываю вас становиться ранними последователями этой технологии. Благо инструкция для этого у вас теперь есть.
Источник