Импортирует ли Android «пакет» импортные ресурсы? - PullRequest
1 голос
/ 10 марта 2020

Я пытаюсь использовать следующую библиотеку:

https://github.com/AppSci/SleepTimePicker

Я могу импортировать ее, добавив в свою build.gradle - dependencies. Затем на моем layout я могу найти это picker после синхронизации с gradle: <com.appsci.sleep.timepicker.SleepTimePicker />

Однако мне интересно, как лучше всего использовать эти внешние "библиотеки", могу ли я получить доступ к их чертежам / макетам и другим ресурсам, которые находятся внутри репозитория github, или мне нужно загрузить их вручную и создать их, если я хочу их использовать, и это «включение» импортирует только код java / kotlin, который есть?

Ответы [ 2 ]

2 голосов
/ 10 марта 2020

Если это библиотека android (aar), она содержит их, и вы можете свободно их использовать. Не загружайте их больше, иначе ваш apk будет больше, если он имеет дублированные ресурсы.

Подробнее здесь: https://developer.android.com/studio/projects/android-library

В отличие от файлов JAR Файлы AAR могут содержать Android ресурсов и файл манифеста, который позволяет объединять общие ресурсы, такие как макеты и элементы рисования, в дополнение к Java классам и методам.

Но вы также можете использовать java libs (jar) в ваших зависимостях, и если вам нужны android ресурсы с ними, вам придется вручную добавить их в ваш проект.

Если вы хотите использовать отрисовку необходимой вам библиотеки Чтобы добавить URI в элемент макета root для этой библиотеки:

xmlns:timepicker="http://schemas.android.com/apk/res/com.appsci.sleep.sleeptimepicker"

, а затем получить доступ к рисованному объекту, используя его:

@timepicker:drawable/ic_bed_time_dark
0 голосов
/ 10 марта 2020

Нет! если вы хотите импортировать зависимость библиотеки, которую вы заметили, вы не можете использовать ее ресурсы, такие как изображения и т. д. c. Если вы хотите использовать их, вы должны загрузить и поместить их вручную в свой ресурс. Удачного кодирования;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...