我对 Android 和 JVM 平台都很陌生。使用 Android Studio,我想创建一个 Android 应用程序并将我的大部分业务逻辑放在一个库中。我也想只使用 Kotlin,而不是 Java。
当我转到 File
> New Module
时,列出的选项是
我可以使用 Android Library
选项创建一个基于 Kotlin 的库,但这也包括很多用于处理资源和控件的文件。
我只想要一个纯 Kotlin 库。创建一个最简单的方法是什么?
我对 Java/Kotlin/Android 项目中的文件组织仍然有些困惑。
最佳答案
您需要一个没有 Android 依赖项和资源的模块 - 这就是 Java 库 模块所做的,因此您首先要创建其中一个。从那里,您只需要在此模块中启用 Kotlin。
您在创建模块时获得的 build.gradle
文件是这样的:
apply plugin: 'java-library'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
您需要添加 Kotlin 插件和标准库。如果您还没有为项目中的所有模块添加 mavenCentral
存储库,您还需要添加它:
apply plugin: 'java-library'
apply plugin: 'kotlin'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
repositories {
mavenCentral()
}
这是假设您在项目级别的 build.gradle
文件中声明了一个 kotlin_version
,这是 Android 项目的常用方式,我相信这就是 Android 的方式如果您勾选复选框以使用 Kotlin,Studio 会配置项目。
通过对库的 build.gradle
进行这些更改,您可以从库的源文件夹 (/src/main) 中删除自动生成的
),然后开始添加 Kotlin 文件。如果您愿意,还可以将 MyClass.java
文件/java/your/package/name/src/main/java
文件夹重命名为 /src/main/kotlin
。或者您可以同时使用这两个文件夹,这完全取决于您。
https://stackoverflow.com/questions/49583488/
相关文章:
android - 在 Kotlin 中使用 Gson 解析 JSON 数组
function - Kotlin 函数声明 : equals sign before curly
kotlin - Kotlin 中的普通类和数据类有什么区别?
kotlin - 如何从包类名称字符串中获取 Kotlin KClass?
java - 如何在 Kotlin 中实现这个 Java 接口(interface)?
android - 使用 Kotlin for Android 进行数据绑定(bind)的问题
kotlin - Delegates.notNull 和 lateinit Kotlin 的区别