Библиотеки
Java-библиотеки позволяют хранить код для какой-то задачи в одном месте и использовать в разных проекта, просто подключая её.
В Android Studio библиотека подключается через Gradle. Просто добавляем строку в блок с зависимостями и студия сама скачает и установит библиотеку.
Описания популярных библиотек
Библиотека EventBus — рассылаем и реагируем на события.
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 — и ещё одна библиотека с разными типами графиков.
Использование внешних библиотек в Android Studio

Один из самых важных уроков, которые я когда-либо усвоил как разработчик, хотя мне потребовалось время, чтобы разобраться в этом, был «не изобретать велосипед заново». Понимание того, как использовать библиотеки в Android Studio, – большая часть этого.
Другими словами, если вам нужно выполнить обычную задачу, вам, вероятно, не нужно писать код самостоятельно. Использование чужого кода для изменения размера растрового изображения или строки может показаться “обманом”, но на самом деле это просто хорошее чувство. Это вдвойне касается независимых разработчиков, у которых не так много времени и ресурсов, чтобы вкладывать их в каждый проект.
Зачем часами биться головой о стену, если можно просто скопировать и вставить код другого человека, который делает то же самое лучше? Если им нравится, что вы им пользуетесь!
Для этого нужны библиотеки в Android Studio. Они просто расширяют возможности Java / Kotlin / Android SDK, позволяя использовать классы и методы, созданные другими пользователями. Лучшие библиотеки предлагают совершенно новую функциональность и позволяют вам как разработчику делать по-настоящему потрясающие вещи с минимальным кодом. В отличие от копирования и вставки кода, библиотеки также полностью переносимы. Это упрощает доступ к расширенным функциям с минимальными усилиями или путаницей.
Также см: Как использовать модули Python
Вот почему вам следует использовать библиотеки в Android Studio. Следующий вопрос как.
Использование внешних библиотек в Android Studio
На самом деле есть несколько способов добавить внешние библиотеки в Android Studio. Лучший вариант для конкретного варианта использования зависит от характера проекта и ваших целей. Итак, давайте взглянем на два наиболее часто используемых метода.
Добавить зависимости Gradle
Gradle – это инструмент сборки, который собирает и собирает все различные файлы, используемые для запуска вашего Android-приложения, в один пакет, который можно запустить на устройстве. Если вы используете внешнюю библиотеку, то код этой библиотеки также должен обратиться к вашему проекту.
Существует множество библиотек Android Studio, доступных из внешних репозиториев. Вы можете легко использовать их, добавив их местоположение и сказав Gradle включить их в ваш код.
Также см: Знакомство с Gradle для новых разработчиков Android – Мастер-строитель
Самое замечательное в этом методе заключается в том, что вы можете легко переключиться на более новое обновление для конкретной библиотеки, изменив одну строку в вашем файле сборки Gradle. Обратной стороной является то, что, поскольку эти библиотеки не хранятся локально на вашем компьютере, вы не можете редактировать их вручную. Вам также потребуется подключение к Интернету.
Чтобы добавить зависимости таким образом, найдите файл сборки на уровне модуля, а затем добавьте строку в блок зависимостей внизу. Например, если вы хотите использовать TensorFlow Lite, который предлагает возможности машинного обучения на устройстве, просто добавьте следующую строку:
Компилировать ‘org.tensorflow: tensorflow-lite: +’
Копировать файлы вручную
Еще один способ использовать библиотеки в Android Studio – вручную скопировать файлы в папку libs. Для этого просто загрузите соответствующий jar-файл и поместите его в папку libs вашего проекта. Теперь щелкните этот файл правой кнопкой мыши и выберите «Добавить как библиотеку …». Если вы собираетесь проверить файл сборки Gradle вашего модуля, вы должны увидеть, что зависимость была добавлена.
Преимущество этого метода в том, что он является локальным и легко адаптируемым. Однако это также означает, что вам нужно вручную заменить файлы, если вы хотите обновить их до более новой версии. Имейте в виду, что некоторые библиотеки доступны только с помощью одного метода.
Какой бы метод вы ни использовали, теперь вы должны иметь возможность ссылаться на классы и методы из этой библиотеки, как и на любые другие!
Заключительные замечания
Вот как вы используете внешние библиотеки в Android Studio! Конкретные методы и стратегии, которые вы будете использовать после этого момента, конечно, будут зависеть от рассматриваемой библиотеки. В будущем мы рассмотрим самые полезные библиотеки для разработчиков Android. Сообщите нам свои любимые в комментариях!
Как импортировать библиотеку в Android Studio?
Понимаю, что тема эта перерыта вдоль и поперек, но гугл мне, увы, не помог.
Решил подключить удаленную БД MySql для своего Android-проекта. Увидел хорошую статью, начал делать по ней. Автор использует стороннюю библиотеку com.devcolibri.parser.JSONParser(исходники: devcolibri.com/download/1548/AndroidAndMySQL.zip).
Я кладу из этого архива файл json-20090211.jar в папку /libs/ своего проекта. Далее иду в Project Structure->modules->app->Dependencies->add->jar dependency и выбираю этот файл.
Проверяю build.gradle — вроде бы всё, о чем пишут в интернете, добавлено.
Каким образом мне импортировать теперь её в Activity?
В примере делают так: «import com.devcolibri.parser.JSONParser;»
Вроде бы должно работать, если «devcolibri» заменить на название своего проекта, но что-то не получается.
Помогите пожалуйста разобраться и извините за очередной глупый вопрос 🙂
- Вопрос задан более трёх лет назад
- 1782 просмотра
13 сентября 2016 г. Как создать собственную библиотеку для Android на примере BottomTabLayout

Рано или поздно у всех разработчиков накапливается достаточное количество готовых решений и хочется поделиться ими с друзьями, сотрудниками или со всем миром. Но к сожалению у большинства «руки не доходят», так как нужно оформить решение как отдельную библиотеку и потом разобраться как залить ее на открытый репозиторий. К тому же бытует мнение что это не так просто. Так вот, в этой статье мы разрушим этот миф, так как с приходом Gradle в стек технологий Android все стало намного проще.
Использование BottomTabLayout
Понятно, что первый шаг — написание собственной библиотеки. В этом примере я использую библиотеку BottomTabLayout. Эта библиотека позволяет в несколько строчек добавить нижний TabLayout, который перекочевал к нам в Android из мира iOS.
1. Набор табов задается через xml-файл ресурсов menu. Например:
xml version="1.0" encoding="utf-8"?> menu xmlns:android="https://schemas.android.com/apk/res/android"> item android:id="@+id/menu_button1" android:icon="@drawable/tab_button1_selector" android:title="Button1" /> item android:id="@+id/menu_button2" android:icon="@drawable/tab_button1_selector" android:title="Button2" /> item android:id="@+id/menu_button3" android:icon="@drawable/tab_button1_selector" android:title="Button3" /> menu>
2. В коде выше свойство icon — это ресурс selector , который мы создаем в drawable :
xml version="1.0" encoding="utf-8"?> selector xmlns:android="https://schemas.android.com/apk/res/android"> item android:drawable="@drawable/ic_button1_dark" android:state_pressed="true" /> pressed --> item android:drawable="@drawable/ic_button1_dark" android:state_selected="true" /> selected --> item android:drawable="@drawable/ic_button1" /> default --> selector>
Состояния state_selected и default здесь обязательные, так как нам нужно выделять выбранный таб.
3. Создаем selector для текста:
xml version="1.0" encoding="utf-8"?> selector xmlns:android="https://schemas.android.com/apk/res/android"> item android:color="@color/black" android:state_pressed="true" /> pressed --> item android:color="@color/black" android:state_selected="true" /> selected --> item android:color="@color/white" /> default --> selector>
4. Создаем стиль текста:
style name="TabButtonTextStyle" parent="android:Widget.Button"> item name="android:textSize">12spitem> item name="android:textColor">@drawable/tab_button_text_selectoritem> style>
5. Добавляем BottomTabLayout на разметку activity :
xml version="1.0" encoding="utf-8"?> RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.stfalcon.bottomtablayout_sample.MainActivity"> FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_above="@+id/bottomTabLayout" /> com.stfalcon.bottomtablayout.BottomTabLayout android:id="@+id/bottomTabLayout" android:layout_width="match_parent" android:layout_height="56dp" android:layout_alignParentBottom="true" android:background="@color/dark" /> RelativeLayout>
6. Настраиваем в классе activity :
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); container = R.id.container; //Container for fragments //Setup button tab layout bottomTabLayout = (BottomTabLayout) findViewById(R.id.bottomTabLayout); //set button text style bottomTabLayout.setButtonTextStyle(R.style.TextGray16); // set buttons from menu resource bottomTabLayout.setItems(R.menu.menu_bottom_layout); //set on selected tab listener. bottomTabLayout.setListener(new BottomTabLayout.OnItemSelectedListener() { @Override public void onItemSelected(int id) { switchFragment(id); } }); //set button that will be select on start activity bottomTabLayout.setSelectedTab(R.id.menu_button1); }
7. В нашем примере при переключении таба меняется фрагмент в контейнере:
** * Show fragment in container * @param id Menu item res id */ public void switchFragment(int id) { Fragment fragment = null; switch (id) { case R.id.menu_button1: fragment = ColoredFragment.newInstance(R.color.blue, "Fragment 1"); break; case R.id.menu_button2: fragment = ColoredFragment.newInstance(R.color.green, "Fragment 2"); break; case R.id.menu_button3: fragment = ColoredFragment.newInstance(R.color.pink, "Fragment 3"); break; case R.id.menu_button4: fragment = ColoredFragment.newInstance(R.color.blueDark, "Fragment 4"); break; case R.id.menu_button5: fragment = ColoredFragment.newInstance(R.color.white, "Fragment 5"); break; } if (fragment != null) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(container, fragment); transaction.commit(); } }
Вот такая вот простенькая библиотека. На GitHub можно подробней ознакомится с BottomTabLayout.
Публикация Android-библиотеки
Теперь я расскажу вам, как имея похожие наработки, поделиться ими с миром.
Создание модуля в Android Studio
1. Для начала создаем проект в Android Studio. Для удобства модуль app переименовываем в sample. Здесь будет лежать пример использования нашей библиотеки.
2. Создаем новый модуль:

3. Тип модуля выбираем Android Library:

4. Это и будет наша библиотека, поэтому название соответствующее — bottomtablayout.
5. Теперь settings.gradle у нас должен выглядеть так:
include ':sample', ':bottomtablayout'
6. В модуле sample, в build.gradle добавляем зависимость:
compile project(':bottomtablayout')
Это делается временно, пока наша библиотека существует только локально.
7. Теперь мы можем написать нашу библиотеку (или перенести готовый код) и протестировать ее в модуле sample.
8. Когда библиотека готова, заливаем ее на свой GitHub-аккаунт.
9. Пишем туториал в README.md.
Добавление библиотеки на Bintray
1. Если библиотека готова и вы считаете что пора миру ее увидеть, заходим и регистрируемся на сайте Bintray.
2. В файл build.gradle проекта добавляем зависимость:
dependencies { . classpath 'com.novoda:bintray-release:0.3.4' }
3. В build.gradle-файле модуля библиотеки (в нашем случае это bottomtablayout) применяем плагин:
apply plugin: 'com.novoda.bintray-release'
И в этом же файле:
publish { groupId = 'com.github.stfalcon' artifactId = 'contentmanager' publishVersion = '0.1.1' desc = 'Library that helps a few lines of code to get pictures and video from the android file system, or ures cloud, as well as the camera device.' licences = ['Apache-2.0'] uploadName='ContentManager' website = 'https://github.com/stfalcon-studio/ContentManager.git' }
- groupId — пакет (может отличаться от пекейджа самого модуля). Рекомендую называть groupId так: com.github. , поскольку если вы когда-то захотите залить свою библиотеку на Maven Central нужно быть владельцем домена который фигурирует в названии groupId .
- artifactId — название модуля.
- publishVersion — версия публикации.
- desc — описание библиотеки.
- licences — лицензия.
- uploadName — название библиотеки.
- website — ссылка на GitHub проекта.
4. Далее нам нужен API Key вашего аккаунта на Bintray. Заходим на страницу вашего профайла:

5. Ищем кнопочку Edit и переходим по ней:

6. Теперь переходим по пункту меню API Key:

7. Сохраняем ключ в надежном месте.
8. Открываем терминал в Android Studio и выполняем:
gradlew clean build bintrayUpload -PbintrayUser=юзернейм на bintray> -PbintrayKey=api ключ с bintray> -PdryRun=false
9. Дожидаемся сборки и отгрузки библиотеки на сервер.
10. Теперь открываем сайт Bintray и ищем переход на страницу свежедобавленной библиотеки.
11. Пока что для того, чтобы подключить нашу библиотеку нужно добавить ссылку на репозиторий в build.gradle-файл проекта:
repositories { maven { url "https://dl.bintray.com//maven" } }
Какой-то лишний шаг получается, правда? Значить нужно это исправить 🙂
Добавление Android-библиотеки в jCenter
С недавних пор, репозиторием по умолчанию в Android считается jCenter (до этого был Maven Central). Благо, что добавление библиотеки в jCenter делается в один клик.
1. На странице нашей библиотеки переходим по ссылке add to jCenter и отправляем запрос на добавление. В течении суток библиотека будет добавлена в jCenter и вас оповестят соответствующим письмом на почту.
2. Теперь есть возможность подключить библиотеку через build.gradle модуля, добавив зависимость в dependencies:
compile 'com.github.stfalcon:contentmanager:0.1.1'
Завершение
Поздравляю! Ваша библиотека вышла в свет и уже можно начинать хвастаться ею перед друзьями, пиарить в пабликах и смотреть, как страница библиотеки на гитхабе набирает звездочки и форки.
UPD: читайте о наших Android-библиотеках в новой статье!
Нужен MVP, разработка под iOS, Android или прототип приложения? Ознакомьтесь с нашим портфолио и сделайте заказ уже сегодня!
Вам также может понравиться
ТОП-5 Android-приложений для шопинга
Как создать мобильное приложение для организации мероприятий
Идеи для стартапа: стоит ли создавать мессенджер?
- Android ,
- open-source ,
- how-to
