- Android X: знакомимся с изменениями в новой библиотеке поддержки
- Авторизуйтесь
- Android X: знакомимся с изменениями в новой библиотеке поддержки
- Пространства имён android.* против androidx.*
- Изменение в именовании пакетов и артефактов Maven
- Строгое версионирование для каждой библиотеки
- Миграция с 28.0.0-alpha1
- Как обновлять библиотеки в Android apk удаленно?
- 30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году
- 1. LayoutManagerGroup
- 2. Creative View Pager
- 3. Instabug
- 4. CheckableChipView
- 5. CrunchyCalendar
- 6. InboxRecyclerView
- 7. SlideBack
- 8. DrawableToolbox
- 9. ColorPicker
- 10. MvRx
- 11. RxRedux
- 12. Emoji Slider
- 13. Covert
- 14. PixelShot
- 15. WiseFy
- 16. MVICore
- 17. DialerLoading
- 18. HtmlRecycler
- 19. Android Clean Architecture Components Boilerplate
- 20. Splitties
- 21. AndroidWM
- 22. Android components
- 23. RxBiometric
- 24. EnhancedNavigationView
- 25. livedata-ktx
- 26. Tumbleweed
- 27. Stylist
- 28. RxkPrefs
- 29. Philology
- 30. Scarlet
- Заключение
Android X: знакомимся с изменениями в новой библиотеке поддержки
Авторизуйтесь
Android X: знакомимся с изменениями в новой библиотеке поддержки
Google перенесла разработку проекта AndroidX на AOSP. AndroidX — новая библиотека поддержки, которая добавляет новые функции и изменяет некоторые старые. Поговорим об этих изменениях.
Пространства имён android.* против androidx.*
Android-приложения зависят от двух типов классов:
- Классы вроде PackageManager , которые идут в комплекте с операционной системой и могут иметь разные API и поведение на разных версиях Android;
- Классы вроде AppCompatActivity или ViewModel , которые отделены от операционной системы и включаются в ваш apk. Эти библиотеки пишутся для предоставления API, поведение которого будет неизменным на как можно большем количестве версий Android.
Зачастую библиотеки, не идущие в комплекте, будут лучшим выбором, так как они предоставляют API для многих версий Android. Теперь все такие библиотеки, включая оные из Support Library и Architecture Components, будут включены в пространство имён androidx.* , чтобы вы понимали, какие зависимости нужно подключать.
Изменение в именовании пакетов и артефактов Maven
Также была переработана структура пакетов, чтобы поощрить создание небольших, более сфокусированных библиотек, которые уменьшат давление на приложения и тесты, не использующие ProGuard и Multidex. Были обновлены groupId и artifactId Maven, чтобы лучше отражать содержимое библиотеки. Кроме того, теперь к пакетам библиотеки добавляется префикс в виде их groupId , чтобы создать очевидную связь между используемым классом и артефактом Maven, из которого он берётся.
Сейчас вы можете ожидать следующее сопоставление старых пакетов с новыми:
android.support.** → androidx.@
android.databinding.** → androidx.databinding.@
android.design.** → com.google.android.material.@
android.support.test.** → (в будущем релизе) androidx.test.@
Так как библиотеки Architecture Components теперь включены в пакет AndroidX, их имена были упрощены, чтобы отразить их интеграцию с основными библиотеками. Примеры изменений:
android.arch.** → androidx.@
android.arch.persistence.room.** → androidx.room.@
android.arch.persistence.** → androidx.sqlite.@
Кроме того, поскольку в версии 28.0.0-alpha1 Material Components станут заменой Design Library, был обновлён пакет дизайна, чтобы отразить его новое направление.
Для получения полного списка сопоставлений от 28.0.0-alpha1 ( android.support ) к 1.0.0-alpha1 ( androidx ) посетите эту страницу. Учтите, что в течение альфа-стадии в этот список могут быть внесены небольшие изменения.
Строгое версионирование для каждой библиотеки
Начиная с рефакторинга AndroidX, версии библиотек были сброшены с 28.0.0 до 1.0.0. Будущие обновления будут версионироваться отдельно для каждой библиотеки, следуя строгим правилам, согласно которым основная версия будет указывать на бинарную совместимость. Это значит, например, что вы можете добавить и использовать новую функцию в RecyclerView без обновления всех остальных библиотек, используемых вашим приложением. Также это значит, что библиотеки, зависящие от androidx , могут предоставить гарантии приемлемой совместимости с будущими релизами AndroidX — так, зависимость от версии 1.5.0 может работать с версией 1.7.0, но, скорее всего, не будет работать с версией 2.0.0.
Миграция с 28.0.0-alpha1
Переход приложения от зависимостей android.support к зависимостям androidx проходит в два основных этапа: рефакторинг исходного кода и перевод зависимостей.
Рефакторинг исходного кода обновляет Java-код, XML-ресурсы и конфигурацию Gradle таким образом, чтобы ссылаться на отрефакторенные классы и артефакты Maven. Эта функция доступна в Android Studio Canary 14 для приложений, ориентированных на Android P.
17–19 декабря, Онлайн, Беcплатно
Если вы зависите от библиотеки, которая ссылается на более старую версию Support Library, Android Studio обновит эту библиотеку с помощью перевода зависимостей так, чтобы она ссылалась на androidx . Перевод зависимостей автоматически применяется Android Gradle Plugin 3.2.0-alpha14, который переписывает байт-код и ресурсы зависимостей JAR и AAR (а также транзитивных зависимостей) таким образом, чтобы они ссылались на новые androidx классы и артефакты. Также будет доступен отдельный инструмент для перевода в формате JAR.
Источник
Как обновлять библиотеки в Android apk удаленно?
Имеется Android приложение (файл в формате .apk).
В проекте используются библиотеки форматов .jar и .aar.
Необходимо в установленном приложении обновлять эти библиотеки.
Запрос на сервер, проверка новых версий или загрузка библиотек не интересует.
Интересует конкретно вопрос — «как реализовать обновление этих библиотек».
Дополнение: без уведомления пользователя, в .aar библиотеке возможность добавления ресурсов.
Как приложение Android написать на С++ в Android NDK, чтоб получить *.apk? Нужен мануал
Уже не в первый раз задаю вопрос. Молчание. В лучшем случае — «RTFM» и точка. Так вот.
Как правильно обновлять Android Studio
Здравствуйте коллеги. При обновлении студии создаются старые копии версий(см. рис.) 1)Можно ли их.
Как создать APK (android)
Узнал про jQuery Mobile, возник вопрос на который я не нашел ответа, как проект с файлами html +.
Как уменьшить размер APK в QT 5.8 for Android
Добрый день как уменьшить apk файл в QT 5.8 for Android. Заранее БОЛЬШОЕ СПАСИБО!
Как собрать apk из Android Open Source Project?
Ссылка на проект: https://android.googlesource.com/platform/packages/inputmethods/LatinIME/
Как скомпилировать Android-Приложение (получить APK-файл)
Осваиваю создание Android-Приложений на Delphi XE5. Сделал «Hello World!», но не могу понять как.
Криво собирается apk android, отображение элементов некорректно, как исправить?
Начал изучать андроид в андроид студии. С помощью редактора вывел пару кнопок и текстовое поле.
Как в Android Studio создавать установочные apk файлы для наших гуглофонов?
Как в Android Studio создавать установочные apk файлы для наших гуглофонов? В Eclipse это.
Источник
30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году
В течение лета 2018 года было разработано и обновлено множество отличных Android-библиотек и инструментов.
Я составил самый новый неупорядоченный список Android-библиотек, инструментов и проектов, которые могут оказаться интересными или полезными во время вашей повседневной работы. Они также отлично подойдут для вдохновения или экспериментов.
Надеюсь, вам понравится. Давайте начнём!
1. LayoutManagerGroup
Это библиотека, которая предлагает набор LayoutManagers для RecyclerView, которые помогут достичь таких эффектов, как на gif ниже.
Эти LayoutManagers в основном расширяют RecyclerView.LayoutManager или просто LinearLayoutManager и добавляют к ним дополнительную функциональность.
У этой библиотеки весьма лаконичная документация, но код говорит сам за себя. Лучший способ разобраться в библиотеке — это посмотреть пример приложения и увидеть в нём реализацию Activities и Fragments .
Библиотека выпущена под лицензией Apache 2.0, и на неё действительно стоит обратить внимание.
2. Creative View Pager
Creative View Pager — это интересная реализация ViewPager , в который добавляется список заголовков, плавно прокручивающийся вместе с содержимым страниц.
Документация исчерпывающая и объясняет, как использовать библиотеку. Выпущена под лицензией Apache 2.0 и написана практически полностью на Kotlin.
3. Instabug
Instabug — это инструмент сбора отзывов и ошибок для мобильных приложений. Благодаря нескольким простым действиям ваши пользователи или бета-тестировщики смогут сообщать об ошибках или оставлять отзывы, а SDK будет запоминать состояние среды устройства пользователя, включая все консольные логи, сетевые запросы и шаги для воспроизведения ошибки, собирая всю эту информацию на одной панели для удобства отладки и исправления ошибок.
В ходе недавнего обновления было исправлено множество ошибок. Подробнее об этих изменениях вы можете почитать здесь. Таким образом, Instabug даёт возможность:
- сообщать об ошибках и сбоях;
- проводить опросы прямо в приложениях;
- запрашивать функциональность, которую хотелось бы видеть в приложении;
- контролировать производительность сети;
- включать автозапись экрана.
Я использую Instabug с 2016 года, когда я искал инструмент, который помог бы моей команде и нашим пользователям. Настоятельно рекомендую его и вам.
4. CheckableChipView
Это check-виджет для Android на основе EventFilterView из приложения, написанного специально для Google I/O 2018. Для него требуется minSdkVersion 21.
Хороший README позволяет быстро начать работать с виджетом. Первоначальную реализацию разработали Ник Батчер и Хосе Алькеррека из Google.
Виджет выпущен под лицензией Apache 2.0 и написан на Kotlin.
5. CrunchyCalendar
Это лёгкий, мощный и простой в использовании календарь.
Он предлагает ряд полезных функций:
- бесконечная вертикальная прокрутка в обоих направлениях;
- установка временных рамок для ограничения прокрутки внутри определенного периода;
- выбор одной даты, нескольких дат или временных диапазонов;
- предустановка выбранных дат;
- цветовые настройки;
- отображение цветовых индикаторов;
- установка собственных ItemDecoration ;
- являясь наследником класса View , может быть использован где угодно: в Activity , Fragment , Dialog , или может быть интегрирован в другой пользовательский View -компонент.
Замечательная документация с множеством примеров. Также есть пример приложения на Github и Google Play.
Этот проект выпущен под лицензией MIT.
6. InboxRecyclerView
Это библиотека для создания динамической навигации в приложении, вдохновлённая Google Inbox и Reply.
InboxRecyclerView можно спокойно добавить в любой существующий проект. Можете взглянуть на пример приложения и загрузить его APK, чтобы посмотреть на своём телефоне.
Автор также написал действительно хорошую статью о библиотеке. Она определённо достойна вашего внимания. Выпущена под лицензией Apache 2.0.
7. SlideBack
Это небольшая, но интересная библиотека, которая предлагает вам использовать SlideBackView внутри Activity . Чтобы понять, что это вообще такое, взгляните на gif ниже.
К сожалению, документация довольно скудная и написана на китайском языке. Я бы не использовал её в своём проекте, а только лишь поэкспериментировал с ней. Тем не менее, вы можете изучить приложение и саму библиотеку. Она выпущена под лицензией MIT.
8. DrawableToolbox
Эта библиотека создаёт drawables программно и избавляет от повторяющихся файлов drawable.xml .
Выпущена под лицензией Apache 2.0. Есть полноценная документация и работает с API 14 и выше.
9. ColorPicker
Это библиотека написана тем же разработчиком, который написал DrawableToolbox. Это просто ещё один виджет для выбора цвета.
Эта библиотека предоставляет неплохую документацию. Выпущена под лицензией Apache 2.0 и работает с API 14 и выше. Если вам нужна функциональность выбора цвета в вашем приложении, то это отличный вариант.
10. MvRx
Библиотека просто огромна. MvRx (произносится «мэйврикс» (англ. mavericks)) — это Android-фреймворк от Airbnb, который они используют практически для всех своих продуктов.
MvRx делает разработку экранов приложения, от самых простых до более сложных, более простой, чем она есть изначально. Тем не менее, в ней всё построено поверх существующих компонентов, таких как фрагменты или архитектурные компоненты, поэтому она не ограничивает вас и может легко применяться в ваших проектах.
Основная цель заключалась в том, чтобы создавать приложения быстрее и с меньшими усилиями. MvRx использует следующие технологии и концепции:
- Kotlin;
- Архитектурные компоненты Android;
- RxJava;
- React (концепция);
- Epoxy (рекомендуется).
Фреймворк выпущен под лицензией Apache 2.0. Документация и wiki просто великолепны. В wiki есть версия tl;dr , а есть и обычная, со всеми объяснениями, необходимым для понимания концепции.
11. RxRedux
Если вы слышали о Redux, его основных концепциях и трех принципах, вы, вероятно, сразу поймёте, о чём эта библиотека.
RxRedux — это реализация, основанная на RxJava (вдохновленная redux-observable), которая помогает нейтрализовать побочные эффекты (побочный эффект — это функция типа (Observable , StateAccessor ) -> Observable ).
RxRedux является некой заменой оператора .scan() в RxJava. README написан хорошо и отлично дополнен этой статьей. Библиотека выпущена под лицензией Apache 2.0.
12. Emoji Slider
Это кастомный SeekBar , вдохновленный эмоджи-слайдером от Instagram.
В проекте есть очень хорошая документация и пример приложения. Выпущен под лицензией Apache 2.0.
13. Covert
Это библиотека, которая помогает реализовывать Material Swipe Actions в RecyclerView. Естественно, она написана в соответствии с принципами Material Design.
Благодаря хорошей документации её легко насторить. Проект выпущен под лицензией MIT.
14. PixelShot
Это библиотека, которая может сохранять любой View -компонент или SurfaceView в виде изображения в форматах: JPG/PNG/nomedia . Библиотека работает в фоновом потоке, обрабатывая ошибки ввода-вывода и управляя распределением памяти.
Вы можете использовать её, чтобы делать скриншоты внутри вашего приложения (например, для сообщения об ошибке).
Она довольно проста в использовании, а существующей документации вполне достаточно для начала. Она выпущена под лицензией Apache 2.0 и поддерживает API 19 и выше.
15. WiseFy
WiseFy — это оболочка для WifiManager и ConnectivityManager для Android. Она добавляет лёгкие высокоуровневые настройки, например:
- добавление и удаление сетей;
- проверка подключения устройства;
- проверка текущей сети;
- включение и выключение Wi-Fi и многое другое.
Это не новая библиотека, но недавно в ней произошёл огромный рефакторинг, и она была полностью переписана на Kotlin.
Документация хорошая и подробная. Лицензия: Apache 2.0.
16. MVICore
MVICore — это современный MVI-фреймворк от Badoo Tech, который включает в себя:
- 100% Kotlin: простой способ реализовывать свои бизнес-функции в реактивном режиме;
- Масштабирование: вы можете работать с единственным Reducer-компонентом, но при необходимости сможете добавить их столько, сколько нужно для обработки более сложных случаев;
- Обработка событий: есть решение для обработки событий, состояние которые вы не хотите хранить;
- Связывание реактивных компонентов: очень простой API для связки ваших реактивных компонентов вместе с автоматическим управлением жизненным циклом;
- Логгер из коробки;
- Временной отладчик: для всех ваших реактивных компонентов (а не только для переменных среды) вы сможете записать их состояние во времени и затем просмотреть его.
У фреймворка действительно хорошая документация. Если вы хотите переписать свое приложение в стиле MVI, то вам стоит обратить внимание на это решение.
17. DialerLoading
Эта библиотека может быть полезна при разработке собственных View -компонентов. Например, такой вот крутящийся телефонный диск может использоваться в качестве замены индикатора загрузки.
В проекте есть короткий README. А выпущен он под лицензией Apache 2.0. Написан полностью на Kotlin.
18. HtmlRecycler
Это интересная библиотека, которая преобразует простую HTML-страницу в RecyclerView из нативных Android-виджетов, основанная на Jsoup library и вдохновленная Medium Textview.
Эта библиотека ещё находится на стадии разработки, поэтому с осторожностью используйте её в своих проектах. Документация хорошая и доступно объясняет, как использовать библиотеку. Выпущена под лицензией Apache 2.0.
19. Android Clean Architecture Components Boilerplate
Я неоднократно упоминал об этой библиотеке, но благодаря усилиям команды Buffer она всё ещё развивается. В настоящее время они показывают, как использовать Koin вместо Dagger для инжекции зависимостей.
Библиотека выпускается под лицензией MIT.
20. Splitties
Splitties — это коллекция небольших независимых Android-библиотек, цель которых — сделать разработку приложений и библиотек для Android простой и весёлой. Мне очень нравится эта идея.
Этот проект называется «Splitties», потому что он разделён на небольшие модули, распространяемые как независимые Android-библиотеки, поэтому вы можете добавлять к себе в проект только те, которые действительно нужны, что помогает уменьшить размер финального apk-файла.
Каждый модуль спроектирован так, чтобы при своём небольшом размере он был максимально эффективным.
Документация хорошая, проект выпущен под лицензией Apache 2.0.
21. AndroidWM
Это небольшая библиотека для водяных знаков на изображениях, которая в том числе поддерживает зашифрованные и невидимые водяные знаки.
Библиотека довольно мощная и предлагает создавать несколько водяных знаков, выбирать режим рисования и способ загрузки ресурсов (как текст, как View -компонент или как Android-ресурс). Документация хорошая, ещё есть пример приложения.
Библиотека выпущена под лицензией Apache 2.0.
22. Android components
Это вторая коллекция библиотек в этой статье. На этот раз от команды Mozilla, и она может быть полезна во время создания браузеров или приложений, похожих на браузер.
На приведенной ниже диаграмме показаны некоторые из доступных компонентов.
В проекте есть 4 примера приложений, демонстрирующих использование различных компонентов. В нём также хорошая документация, и выпущен он под лицензией MPL 2.0.
23. RxBiometric
Эта библиотека связывает RxJava и RxKotlin с Biometric Prompt (сканер отпечатков пальцев) на Android (добавлен в Android 9 Pie, API 28+).
Согласно официальному блогу Android-разработчиков, если в вашем приложении вы используете собственные механизмы авторизации через отпечатки пальцев, то вы должны как можно скорее переключиться на использование BiometricPrompt API.
RxBiometric поможет вам сделать это через поток RxJava. В ней есть надежная документация с примерами использования. Выпущена под лицензией Apache 2.0.
24. EnhancedNavigationView
Это библиотека, которая расширяет BottomNavigationView от Google и позволяет взглянуть на него под весьма интересным углом.
Проект написан на Kotlin. Выпущен под лицензией Apache 2.0, и в нём есть пример приложения с использованием библиотеки.
25. livedata-ktx
Это расширение LiveData на Kotlin, превращающее код в цепочки вызовов, как RxJava, от команды Shopify. Если вы используете LiveData из архитектурных компонентов Android, то вы легко можете заменить его на LiveData KTX и создавать такие цепочки, как показано на примере ниже:
Проект разрабатывается четырьмя разработчиками и выпущен под лицензией MIT.
26. Tumbleweed
Tumbleweed — это ответвление от Universal-Tween-Engine, которое позволяет создавать плавные интерполяции для каждого атрибута каждого объекта в ваших проектах.
Tumbleweed отличается от исходного проекта несколькими особенностями:
- уменьшено изменение Tweens и Timelines (разделено объявление и реализация Tweens );
- интерполяция инкапсулирована путём создания определённого типа ( TweenType );
- удалён пул (постоянный источник неожиданного поведения) и многое другое.
Содержит исчерпывающую документацию и выпущена под лицензией Apache 2.0. В ней также есть пример приложения.
27. Stylist
Stylist — это проект, созданный разработчиками Uber. Это Gradle-плагин, написанный на Kotlin, который генерирует базовый набор Android-тем. Например, если вы хотите определить размер текста в тёмной и светлой темах приложения, вы создадите следующий класс:
И вы получите сгенерированные XML-темы:
Проект выпущен под лицензией Apache 2.0.
28. RxkPrefs
Это небольшая библиотека, которая предоставляет реактивные shared preferences. Она разработана специально для использования вместе с Kotlin.
Используя экземпляр RxkPrefs , вы можете получить preferences. Но это будет не сырое значение preference, а экземпляр интерфейса Pref , который предоставляет больше функциональности.
Библиотека выпущена под лицензией Apache 2.0.
29. Philology
Эта библиотека предлагает простой способ динамической замены строковых ресурсов вашего приложения или добавления новых языков без необходимости публикации новой версии в Google Play. Как это работает?
Philology не изменяет способ использования ресурсов при разработке приложения. Вместо этого происходит внедрение в этот процесс: перехватывается значение, возвращаемое из ваших файлов внутри приложения, и проверяется, есть ли на сервере более новое значение. Это позволяет устранять опечатки, улучшать формулировки или даже добавлять новый язык. Всё в режиме реального времени, без необходимости выпуска новой версии приложения.
Это действительно хорошая идея. Библиотека выпущенна под лицензией Apache 2.0. Проект содержит пример приложения, а также действительно полную документацию.
30. Scarlet
Это вдохновлённый Retrofit WebSocket -клиент для Kotlin и Java от команды Tinder. Библиотека хорошо задокументирована и описана в этой статье.
Вы также можете посмотреть её использование в приложении для проверки курса Биткойна в реальном времени.
Scarlet управляется при помощи StateMachine, также разработанной командой Tinder.
Проект выпущен под лицензией BSD 3-Clause.
Заключение
Вот и всё! Надеюсь, вам понравился этот список, и некоторые проекты вдохновили вас. Если вы знаете ещё какую-нибудь большую библиотеку, которая была выпущена за последние 5 месяцев, и я не упоминул об этом, пожалуйста, дайте мне знать в комментариях.
Источник