Библиотеки компонент для android

Библиотеки

Java-библиотеки позволяют хранить код для какой-то задачи в одном месте и использовать в разных проекта, просто подключая её.

В Android Studio библиотека подключается через Gradle. Просто добавляем строку в блок с зависимостями и студия сама скачает и установит библиотеку.

Описания популярных библиотек

Библиотека EventBus — рассылаем и реагируем на события.

joda-time-android — Популярная библиотека Joda-Time для Android, позволяющая работать с датой и временем.

AndroidSlidingUpPanel — выдвигающая панель сверху или снизу.

Rebound — библиотека для создания анимационных эффектов у компонентов

GSON — библиотека для работы с JSON.

Moshi — современная библиотека для работы с JSON.

Card Library — интересная библиотека для создания карточек. Автор библиотеки рассказывает о ней на своей странице. А на ГитХабе сама библиотека в исходных кодах. Сам ещё не использовал, но демо библиотеки мне понравилось.

svg-android — работа с векторными изображениями SVG

Android-Query (AQuery) — простой способ использования асинхронных задач и управления UI-элементами

Библиотека Okio для операций ввода/вывода

Библиотеки для загрузки изображений с котиками

Picasso — библиотека для загрузки изображений с разнообразным функционалом.

Glide — похожа по синтаксису и функционалу на Picasso. Библиотека поддерживает анимированные GIF-файлы.

Universal Image Loader — библиотека для загрузки изображений из сети или локальных носителей

koush/ion — и ещё одна популярная библиотека для асинхронных соединений и загрузок изображений.

Fresco | An image management library — Facebook тоже решил внести свою лепту в создании библиотеки для загрузки изображений.

Coil — относительно новая библиотека на Kotlin с корутинами.

Графики и диаграммы

AChartEngine — библиотека для рисования графиков

GraphView — ещё одна библиотека для графиков. Доступны два вида. Встраивается в разметку активности через код.

HoloGraphLibrary — Ещё одна библиотека для рисования графиков.

blackfizz/EazeGraph — и ещё одна библиотека с разными типами графиков.

Источник

10 библиотек, о которых должен знать каждый Android-разработчик

В 2015 году мы уже публиковали статью о пяти лучших библиотеках, которые мы использовали в то время. Однако платформа Android значительно выросла с тех пор. Как вы знаете, в такой быстро развивающейся области, как разработка программного обеспечения, всё меняется и развивается с молниеносной скоростью. Именно поэтому мы решили, что пришло время обновить список наиболее эффективных Android-библиотек.

Давайте без долгих предисловий перейдем прямо к нашему списку. Сначала мы рассмотрим одну из самых старых, но, по моему убеждению, и одну из самых эффективных Android-библиотек.

1. Retrofit

Retrofit — это типобезопасный HTTP-клиент, позволяющий представить ваш REST API в виде интерфейса. Вы сможете управлять телами, заголовками, параметрами API-запросов и многим другим с помощью аннотаций, что сделает этот процесс простым и понятным. Retrofit также позволяет выполнять синхронные и асинхронные вызовы API.

Ко всему прочему, Retrofit предоставляет отдельный Rx-модуль. Если вы используете Rx, этот модуль вернёт Observable при обращении к API, что позволит связать его с остальной частью вашего приложения. И это лишь некоторые из множества причин, по которым мы по-прежнему любим и используем Retrofit.

2. Moshi

Moshi — это библиотека для конвертации JSON в Java и Kotlin-объекты. Многие воспринимают Moshi как GSON 3.0. Однако эта библиотека превосходит GSON в нескольких аспектах: она быстрее, она поддерживает Kotlin, она обновляется, генерирует предсказуемые исключения и не использует испорченный адаптер DateTime по умолчанию. Кроме того, используя Moshi, процесс конвертации JSON в Java-объекты (и наоборот) становится максимально простым и понятым.

Мы также любим Moshi за поддержку JSON API. JSON API — это спецификация построения API, и многие API, с которыми мы работаем, написаны с использованием этой спецификации. Moshi JSON API облегчает нашу жизнь, поскольку JSON API ответ преобразуется в значимые Java-объекты. Retrofit ещё поддерживает Moshi, и вместе они просто отлично работают.

Читайте также:  Bubble ball для андроид

3. Chuck

Chuck — это HTTP-инспектор для Android, позволяющий «покопаться» в HTTP-истории вашего приложения на мобильном телефоне. HTTP-лог отображается в виде уведомления, которое можно развернуть, чтобы зайти в Chuck и посмотреть детальную информацию. Использование Chuck невероятно обрадует специалистов QA-отдела, поскольку они смогут увидеть, где находится проблема: на стороне Android или на стороне сервера. Эта библиотека иногда может помочь вам больше, чем logcat. Это связано с тем, что ваша HTTP-история сохранится даже в случае непредвиденного закрытия приложения, в то время как logcat время от времени самоочищается после перезапуска.

4. Glide

Вы скорее всего знаете, что загрузка изображений в Android вызывает большие трудности. Даже изменение размера изображения может обернуться катастрофой с OutOfMemoryException . Glide — это библиотека загрузки изображений, которая предоставляет качественный API, позволяющий изменять изображение как вам угодно.

Библиотека позволит вам легко загрузить удалённое изображение в ImageView, определить стабовые изображения, кэшировать и масштабировать изображения и т.д. Просто попробуйте проделать всё это без помощи Glide, и вы сразу поймёте, почему он находится в нашем списке ключевых библиотек. Glide даже поддерживает некоторые распространённые изменения по умолчанию, например, создание изображения круглой формы.

5. ThreeTen

ThreeTen — это библиотека для работы с датой и временем в Android. Это портированная версия JSR-310, который был включен в Java 8 в качестве стандартного пакета java.time.* . Мы любим эту библиотеку, потому что стандартный Android Calendar API превращает работу в сущий кошмар.

ThreeTen сильно уступает JodaTime с точки зрения количества методов и бинарного размера. API данной библиотеки также меньше, чем API JodaTime. Если вы уже используете JodaTime, то, вероятно, вам не стоит переходить на ThreeTen. Тем не менее, я настоятельно рекомендую попробовать ThreeTen, если вы только начинаете работать над новым проектом.

6. Timber

Timber — мощная, но простая библиотека логирования, построенная на базе Android-класса Log . С её помощью вы сможете легко включать и выключать отображение логов. Также библиотека предлагает отличную поддержку логирования форматированных строк и исключений. Благодаря этим преимуществам Timber и входит в наш список ключевых библиотек, которые мы используем практически на всех Android проектах.

7. Room

Room — это официальный ORM для Android, и этот статус оправдывается рядом причин. Эта библиотека отличается удобным API, похожим на Retrofit. Room также в значительной степени опирается на аннотации и стандартный SQL-синтаксис.

Кроме того, Room по умолчанию включает в себя поддержку Rx и LiveData , поэтому вы сможете использовать его, как вам захочется. Основное преимущество Room перед различными ORM — простота. Многие ORM имеют гораздо более сложный API, для использования которого вам потребуется тщательно изучить всю документацию. Благодаря стандартному SQL-синтаксису Room предельно доступен для понимания, что позволяет приступить к работе сразу, не тратя много времени на чтение документации.

8. RxJava

RxJava — это Java-реализация ReactiveX API, которая позволяет связывать асинхронные задачи и события в наблюдаемые (англ. observable) последовательности. Пользователи рассчитывают на то, что современные приложения способны отображать данные в режиме реального времени. Другими словами, они хотят, чтобы информация обновлялась автоматически. Именно в этом аспекте вам и пригодится RxJava.

При получении данных в реальном времени становится чрезвычайно сложно объединить несколько запросов API, переключать потоки и обрабатывать ошибки. Именно здесь RxJava отменно проявляет себя, и именно по этой причине мы начали пользоваться этой библиотекой. Я согласен, что RxJava может показаться запутанной и трудной для изучения, но эта библиотека однозначно заслуживает вашего времени. Даже после перехода на Kotlin, мы продолжили использовать RxJava из-за её преимуществ. В сочетании с Kotlin API она становится ещё лучше благодаря дополнительным функциям-расширениям.

Попробуйте сделать что-то похожее на приведённый выше фрагмент с помощью простой Java. Ну же.

9. Android KTX

Android KTX — это набор расширений-обёрток для Android API в Kotlin, которые делают его более дружелюбным. Главная цель этой библиотеки — сделать Android API более удобным в использовании. Она содержит множество методов и отличных новых функций Kotlin, таких как именованные параметры, лямбда-функции и параметры по умолчанию.

Android KTX отличается наличием множества функций-расширений, и единственный способ узнать о них — погрузиться в код библиотеки, чтобы увидеть, каким образом функции улучшили Android API. Android KTX упрощает способ использования Android API, и по этой причине эта библиотека должна стать основой каждого Android приложения, написанного на Kotlin.

10. Dagger

Наш список 10 лучших библиотек был бы неполным без Dagger. Эта библиотека представляет собой полностью статичный фреймворк внедрения зависимостей во время компиляции. Dagger, так же как и RxJava, действительно сложен для понимания (мне пришлось потратить некоторое время, чтобы понять их пример CoffeeMaker), но определённо заслуживает потраченного времени и усилий.

Читайте также:  Карточки для запоминания андроид

Внедрение зависимостей (англ. dependency injection) — это способ, позволяющий добавлять небольшие компоненты к другим моделям с минимальными усилиями. Например, если у вас есть модель автомобиля, вы можете добавить к ней шины и с лёгкостью подменить имплементацию шин в будущем — не изменив при этом ни единой строчки кода в моделе автомобиля.

При разработке более сложных приложений вы точно не захотите самостоятельно выполнять задачи по внедрению зависимостей, потому что объём кода быстро увеличивается и становится слишком сложным для поддержки. Dagger избавит вас от этой проблемы, потому что он создает граф внедрения зависимостей во время компиляции посредством обработки аннотаций.

В прошлом году Google добавил отдельный модуль Android Dagger, который позволяет писать меньше шаблонного кода и упрощает внедрение зависимостей.

Заключение

Итак, вот и он: наш список 10 лучших Android-библиотек в 2018 году. Десять отличных библиотек, которые сделают процесс Android-разработки более приятным для каждого, кто решит их использовать. Хотите больше библиотек? Так вышло, что мы в нашей компании разработали несколько собственных Android-библиотек. Можете ознакомиться с ними:

  • MjolnirRecyclerView — добавляет в RecyclerView поддержку header, footer, пустых view-компонентов и DiffUtils;
  • Goldfinger — упрощает реализацию аутентификации по отпечаткам пальцев;
  • DBInspector — просматривает и обеспечивает доступ к базам данных приложения;
  • Complexify — простой способ проверить качество пароля пользователя;
  • Prince of Versions — обрабатывает обновления приложения внутри приложения.

Источник

25 занимательных Android библиотек. Весна 2018

Это список из 25 новейших Android-библиотек, проектов и инструментов, выпущенных за последние 3 месяца. Здесь нет первого и последнего места, это просто список интересных библиотек. Они определённо заслуживают вашего внимания. Наслаждайтесь!

1. scrcpy

Этот инструмент разработан командой Genymotion и делает то же самое, что и Vysor. Он обеспечивает отображение и управление устройствами Android, подключенными по USB. Для его работы не нужны никакие root права. Работает он на Linux, Windows и MacOS. И это бесплатно!

README здесь действительно хорош. В нём вы найдёте полное описание установки и запуска проекта. Для пользователей Mac проект доступен также через homebrew.

2. Long Shadows

Эта библиотека для простого создания красивых длинных теней в Android.

В этой библиотеке вы найдёте множество интересных функций:

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

README полна отличных примеров и очень хорошо написана. Вероятно, это один из лучших README, которые я когда-либо читал. Проект выпущен под лицензией MIT.

3. TextPathView

Это View-компонент, анимирующий отрисовку текста. Лучше один раз увидеть гифку ниже!

Оригинальный README написан на китайском языке, но есть и английская версия. Там вы найдёте информацию о том, как использовать библиотеку, и какие обновления готовятся к выпуску. Библиотека пока ещё на ранней стадии разработки (версия 0.1.2), поэтому будьте готовы к возникающим проблемам. Проект выпущен под лицензией MIT.

4. ShapeOfView

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

Вот ещё один пример того, что можно сделать при помощи библиотеки:

Впечатляет, да? Ещё больше примеров вы сможете найти в документации. Сама библиотека реализуется под лицензией Apache 2.0.

5. ModalBottomSheetDialogFragment

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

Документации вполне достаточно для начала использования диалогов. Сам проект выпущен под лицензией Apache 2.0.

6. PhotoEditor

Библиотека Photo Editor предназначена просто для редактирования изображений с использованием красок, текста, смайликов и стикеров.

README очень полезен и хорош. Проект находится на довольно ранней стадии разработки (версия 0.1.1) и выпущен под лицензией Apache 2.0.

7. Hyperion-Android

Hyperion – это инструмент для отладки и проверки приложений. Его можно легко интегрировать в любое приложение.

Дополнительную информацию вы можете получить, почитав README или блог разработчиков. Проект выпущен под лицензией MIT, и в настоящее время его версия 0.9.22.

8. KotlinPleaseAnimate

Это библиотека для создания красивых анимаций, написанная в Котлине.

Документации вполе достаточно для начала работы с ней. Проект выпущен под лицензией Apache 2.0.

9. ElevationImageView

Благодаря этой библиотеке вы сможете добавить тень для вашего ImageView.

Документация довольно короткая, но ее достаточно для начала использования библиотеки. В настоящее время версия библиотеки 1.1, и проект выпущен под лицензией Apache 2.0.

Читайте также:  Как отключить автозамену андроид

10. Floating Action Button Speed Dial

Эта библиотека реализует плавающую кнопку из материального дизайна.

Документация помимо теории включает в себя пример приложения, доступного в Google Play.
Проект выпущен под лицензией Apache 2.0.

11. RadiusTransition

Это приложение, которое позволяет трансформировать круглое изображение в квадрат. Изображение в этом примере выводится через Glide.

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

12. hiroaki

Цель Hiroaki – помочь в тестировании интеграции с API, используя мощность Kotlin.

Библиотека предоставляет MockWebServer для создания сервера-заглушки в качестве цели для ваших HTTP-запросов, которые вы будете отправлять на ваш бэкэнд.

Это позволит вам проверить, как ваша программа отреагирует на определённое поведение сервера и API.

Документация стоит того, чтобы в неё заглянуть. Проект написан под лицензией Apache 2.0.

13. Ferris-Wheel

Многие из вас, скорее всего, слышали об одном из самых высоких колес обозрения в мире — London Eye. Теперь в своем приложении вы можете сделать свое собственное колесо обозрения благодаря библиотеке Ferris-Wheel.

В README вы можете прочитать, каким образом подключить и использовать его в своем проекте. Он выпущен под лицензией Apache 2.0.

14. gradle-dependency-graph-generator-plugin

Это плагин Gradle, который позволяет визуализировать ваши зависимости на графике.

В документации вы найдёте, как настроить плагин и как его использовать. Проект создан под лицензией Apache 2.0.

15. Runtime Permission

Эта библиотека, по словам Флорана Чампиньи, является самым простым способом для запроса динамических разрешений в новых версиях Android.

Дополнительную информацию смотрите в документации. Проект выпущен под лицензией Apache 2.0.

16. Prefekt

Prefekt – это Android SharedPreferences для Kotlin. Он прост в использовании и эффективен благодаря кэшированию в памяти. Вы можете подписаться на обновления значений в SharedPreference, и подписка сработает, даже если значение было изменено не через функционал Prefekt.

Есть и множество других интересных функций, описанных в документации, поэтому проект стоит вашего внимания. Выпущен под лицензией Apache 2.0.

17. ColorPickerPreference

Библиотека, позволяющая реализовать ColorPickerView, ColorPickerDialog и ColorPickerPreference. С её помощью вы сможете получить цвет HSV, значения RGB, код цвета HTML для изображений из галереи.

Документация всеобъемлющая и даже содержит описания методов. Определенно стоящая библиотека. Лицензия: Apache 2.0

18. MusicVisualization

При помощи этой библиотеки вы сможете визуализировать свой аудиофайл. Для этого библиотека использует функционал Android OpenGL ES.

В разделе релизов библиотеки на github вы можете найти .apk файл примера функционирования библиотеки. Распространяется под лицензией Apache 2.0.

19. TreeView

Android TreeView используется для отображения данных в древовидных структурах.

Документация подробная и описывает все необходимые шаги для подключения библиотеки к вашему проекту Android. Лицензия: Apache 2.0

20. inline-youtube-view

Это утилита предназначена для встраивания YouTube-компонента в ваше Android приложении. Компонент YouTube был разработан для работы с Android, iOS и React Native.

В библиотеке описываются некоторые проблемы, с которыми можно столкнуться, например:

  • YouTube SDK работает не на всех устройствах
  • нельзя запускать более одного экземпляра YouTube-компонента одновременно

21. WhatsNew

WhatsNew автоматически отображает краткое описание новых функций вашего приложения после того, как пользователи его обновляют.

В README вы можете прочитать, как библиотеку использовать. Проект выпущен под лицензией MIT.

22. ColoredShadowImageView

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

В документации вы найдёте пример .apk файла и описание настроек и использования. Проект выпущен под лицензией Apache 2.0.

23. easylauncher-gradle-plugin

Эта библиотека поможет вам изменить иконку приложения для каждого из ваших buildVariant’ов, используя простые правила Gradle. Вы сможете добавлять полоски любого цвета, накладывать собственные изображения или изменять цвет иконки.

Документация содержит описание использования библиотеки, способ её настройки, доступные параметры и описание структуры проекта. Проект выпущен под лицензией Apache 2.0.

24. ConcealerNestedScrollView

Это библиотека, которая упрощает скрытие View-компонентов сверху и снизу экрана при прокрутке пользовательского NestedScrollView.

В документации найдёте всё необходимое для достижения этого эффекта.

25. Theatre

Это проект, который использует чистую архитектуру + MVVM + реактивные расширения + архитектурные компоненты Android. Основная цель – использовать новейшие практики и библиотеки.

В проекте используются такие библиотеки, как: Android KTX, архитектурные компоненты Android, Dagger 2, RxJava, RxKotlin, RxAndroid, ConstraintLayout, Glide и многие другие. Это действительно нужно увидеть! Лицензия: Apache 2.0.

Источник

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