Например, приложение делится на три модуля: Core, Personal, Client; В Core определены основные библиотеки и методы которые будут переиспользовать остальные модули. Personal и Client - это модули со своим набором activity и бизнес логикой. При авторизации пользователя выбирается, какой модуль использовать. Подскажите, как разрешить зависимости между модулями, а так же каким образом может происходить выбор модуля в зависимости от триггера у пользователя?
Для создания модуля в Android Studio выбираете
File > New > New Module
Далее есть 2 варианта. Если вы планируете создать «чистую» java-библиотеку, в качестве типа указывайте Java Library, в итоге код такой библиотеки скомпилируется в JAR файл. Это удобно, так как вы сможете использовать ее не только в Android приложениях. Если же вы собираетесь использовать android-специфичные вещи и вам понадобятся классы из пакетов android.*
, то создавайте Android Library, которая при компиляции собирается в AAR файл. В данном случае вам понядобится последний вариант.
ВАЖНО: В minSDKVersion
(файлы build.gradle модулей) приложения должен совпадать или быть больше, чем указанный в модуле библиотеки.Указанные buildToolsVersion
должны быть установлены в Android-SDK. Каждый модуль библиотеки генерирует свой класс ресурсов (*.R.class). Когда Android библиотеки добавляются в проект и происходит его сборка, то их ресурсы сливаются, что может привести к конфликтам. Поэтому в документации определены следующие соглашения:
dependecies
)Подключаются Android библиотеки как зависимости (если библиотека была создана как отдельный проект в AndroidStudio). Тут есть так же 2 варианта:
1.Либо добавить скомпилированный AAR (или JAR) файл:
- File > New Module
- Import .JAR/.AAR Package > Next
- вводите путь до ARR (или JAR) файла > Finish
2.Либо импортировать библиотеку из исходников:
- File > New > Import Module
- вводите путь до директории, в которой находятся исходники библиотеки > Finish
ВАЖНО: убедиться, что имя Android библиотеки было добавлено в settings.gradle
include ':app', ':core', ':personal', ':client'
и появилась в блоке dependencies
файла build.gradle приложения
dependencies {
compile project(":core")
compile project(":personal")
compile project(":client")
}
Android библиотеки могут содержать в себе ресурсы, другие JAR библиотеки, собственный AndroidManifest.xml.
Скомпилированная Android библиотека представляет собой обычный zip
архив с расширением .arr
, который содержит следующие обязательные файлы и директории:
и необязательные:
Виртуальный выделенный сервер (VDS) становится отличным выбором
Создал макет для простого калькулятораДля создания наложения общего градиента на некоторые элементы использовал следующий код :
Как сделать чтобы программа запрашивала ввод номера месяца до тех пор, пока пользователь не введёт символ ‘q’