1,Kotlin开发环境
Android stuidio 3.0及以上版本
2,环境配置
(1)在根项目的build.gradle 中配置
buildscript {
ext.kotlin_version = '1.1.3-2'
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
kotlin_version 可根据自己开发安装插件编写版本
(2)在主项目的bugild.gradle 中配置
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-android'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"//Kotlin支持
}
至此,环境配置完成,可以进行开发
3,创建简单Kotlin代码类,只需要new一个后缀是.kt的文件即可
4,属性定义
var 只读属性
val 可写属性
5,创建简单Activity,依然是单继承
class TestOneActivity : FragmentActivity(){
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}
6,接口定义
interface Person {
//抽象属性
val name: String
val nameStr: String get() = "默认名字"
fun setName() {
println("My name is Alice")
}
//抽象方法
fun setName2()
}
interface中只有只读属性val,没有可先属性var
7,接口的实现
单个接口实现
class PersonImpl:Person{}
多个接口实现
class PresonImpl:Preson,Person2{}
8,静态类实现
用Object修饰类名,里面的所有方法都是静态方法
object FileUtil{
fun getName():String{
}
}
java调用kotlin静态类里面的方法
FileUtil.INSTANCE.getName()
9,普通类中实现静态方法
静态方法需要被companion object{}包裹一层
class A{
companion object{
fun getName():Stirng{}
}
}
java调用普通类中的静态方法
A.Companion.getName()