Создать новости для android

Как сделать приложение для 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-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.

  1. Активность (activity) — элементы интерактивного пользовательского интерфейса.
    Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения — ссылкам между ними. Запуск приложения — это активность Main.
  2. Сервис (service) — универсальная точка входа для поддержания работы приложения в фоновом режиме.
    Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса.
  3. Широковещательный приемник (broadcast receiver) транслирует нескольким участникам намерения из приложения.
  • Поставщик содержимого(content provider) управляет общим набором данных приложения из файловой системы, базы данных SQLite, интернета или другого хранилища.
  • Теперь попробуем сделать своё приложение для 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-файл, где мы собрали всё упомянутое и ряд других блогов — сможете видеть все их обновления в одной ленте.

    Twitter

    Часть движухи происходит в Твиттере — кого там зафолловить, чтобы не пропустить интересное и ценное? Ну, понятно, Джейка Уортона, а дальше?

    Недавно как раз был составлен твиттер-список из сотни обладателей звания 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 — сайт с короткими обучающими видео для мобильных разработчиков, каждое из которых раскрывает какой-то конкретный вопрос. Часть из роликов бесплатная, часть платная.

    Reddit

    Реддит (и, в частности, интересующий нас сабреддит Developing Android Apps) отличается по формату от всего остального в этом тексте. Большинство записей — ссылки на какой-то другой сайт, но есть и уникальный контент. Редкий для интернета случай, когда комментарии бывают ценнее исходной записи (среди активных комментаторов есть Джейк Уортон, да и в целом это возможность увидеть срез мнений сообщества). Зачастую постят какую-то ерунду или вопросы, которым место на Stack Overflow, но апвоуты помогают заметить среди записей стоящие. Иногда устраивают формат Ask Me Anything, когда представители определённого проекта отвечают на любые вопросы о нём.

    Дайджесты

    Возможно, к этому моменту вместо вопроса «где брать новую информацию» вас уже интересует вопрос «как не лопнуть от новой информации». Полезных ресурсов в интернете много, а вот личные ресурсы на их изучение не бесконечные — следить сразу за Medium, Twitter, YouTube, Reddit и подкастами тяжеловато.

    Читайте также:  Witcher trainer для андроид

    Тут помогают дайджесты, авторы которых следят за происходящим и собирают самое заметное в удобные подборки. Изучать по дайджесту в неделю куда проще, чем прыгать каждый день по куче лент в разных сервисах. Назовём несколько:

    • 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».

    Читайте также:  Android tv netflix устройство

    Далее конфигурируем свой проект:

    Для 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-ом. Рекомендую принять это условие.

    Не заметили ничего подозрительного в предыдущих действиях? Для создания приложения мы по сути использовали только адрес нашего сайта… Тогда что нам мешает прямо сейчас выпустить приложение, например, 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 и призываю вас становиться ранними последователями этой технологии. Благо инструкция для этого у вас теперь есть.

    Источник

    Оцените статью