- Creating libraries for Android applications — Tutorial
- 1. Android library projects and Java libraries
- 2. Custom Android library modules
- 2.1. Using custom library modules
- 2.2. Creating custom Android library modules
- 3. Prerequisite
- 4. Exercise: Create an Android library module
- 4.1. Create library module
- 4.2. Remove generated dependency from build.gradle of the library project
- 4.3. Create the model class
- 4.4. Create instances
- 4.5. Define dependency to the library project
- 4.6. Use library project to update detailed fragments
- 4.7. Validate implementation
- 5. Exercise: Deploy a library project
- 25 занимательных Android библиотек. Весна 2018
- 1. scrcpy
- 2. Long Shadows
- 3. TextPathView
- 4. ShapeOfView
- 5. ModalBottomSheetDialogFragment
- 6. PhotoEditor
- 7. Hyperion-Android
- 8. KotlinPleaseAnimate
- 9. ElevationImageView
- 10. Floating Action Button Speed Dial
- 11. RadiusTransition
- 12. hiroaki
- 13. Ferris-Wheel
- 14. gradle-dependency-graph-generator-plugin
- 15. Runtime Permission
- 16. Prefekt
- 17. ColorPickerPreference
- 18. MusicVisualization
- 19. TreeView
- 20. inline-youtube-view
- 21. WhatsNew
- 22. ColoredShadowImageView
- 23. easylauncher-gradle-plugin
- 24. ConcealerNestedScrollView
- 25. Theatre
Creating libraries for Android applications — Tutorial
This tutorial describes how to create and use library projects in Android.
1. Android library projects and Java libraries
Android project can use code contained in JAR files (Java libraries)
If you want to use libraries, these must only use API available in Android. For example, the java.awt and javax.swing packages are not available on Android.
In addition to JAR files, the Android uses a binary distribution format called Android ARchive(AAR). The .aar bundle is the binary distribution of an Android Library Project.
An AAR is similar to a JAR file, but it can contain resources as well as compiled byte-code. A AAR file can be included in the build process of an Android application similar to a JAR file.
It is possible to create libraries modules which can be used as dependencies in Android projects. These modules allow you to store source code and Android resources which can be shared between several other Android projects.
To use a Java library (JAR file) inside your Android project, you can simple copy the JAR file into the folder called libs in your application. *.jar files in this folder are included into the compile classpath via the default build.gradle file.
2. Custom Android library modules
2.1. Using custom library modules
An Android library module can contain Java classes, Android components and resources. Only assets are not supported.
The code and resources of the library project are compiled and packaged together with the application.
Therefore a library module can be considered to be a compile-time artifact.
2.2. Creating custom Android library modules
Using library projects helps you to structure your application code. To create a new library module in Android Studio, select File New Module and select Android Library .
3. Prerequisite
The following example assumes that you have created an Android project with the com.example.android.rssfeed top level package based on the following tutorial: https://www.vogella.com/tutorials/AndroidFragments/article.html#fragments_tutorial
4. Exercise: Create an Android library module
Our library project will contain the data model and a method to get the number of instances. The library provides access to (fake) RSS data. An RSS document is an XML file which can be used to publish blog entries and news.
4.1. Create library module
For Android Studio each library is a module. To create a new library module in Android Studio, select File New Module and select Android Library .
Use com.example.android.rssfeedlibrary as module name and Rssfeed Library as library name.
If prompted for a template select that no activity should be created. As a result Android Studio shows another module.
4.2. Remove generated dependency from build.gradle of the library project
Open the build.gradle of the library project. Delete the dependencies closure, your library does not need any dependency and the generated dependency can cause problems for the build.
Ensure you remove dependencies from the correct library project and not from your app.
4.3. Create the model class
Create an RssItem class which can store data of an RSS entry.
Generate the getters and setter, the constructor and a toString() method. The result should look like the following class:
4.4. Create instances
Create a new class called RssFeedProvider with a static method to return a list of RssItem objects. This method does currently only return test data.
4.5. Define dependency to the library project
To use the library add it as a dependency in your project select File Project Structure . Select the app entry. Switch to the Dependencies tab and select Module dependencies via the + sign.
4.6. Use library project to update detailed fragments
Update the updateDetail method in your MyListFragment class to use the RssFeedProvider provider. This is only test code.
4.7. Validate implementation
Start your application and ensure that the toString value of the list of RssItems is displayed in the DetailFragment .
The list is currently generated randomly every time you press the button. |
5. Exercise: Deploy a library project
Create a new library project called recyclerbaseadapter with the same top level package. Add the following to its build.gradle file.
Create or move a MyBaseAdapter class in this library.
Deploy it by running the gradle uploadArchives task.
You can now define a dependency to this library, by adding mavenLocal() and using:
Источник
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.
Источник