网站: Kotlin 备忘清单 & kotlin cheatsheet & Quick Reference
Android 之 Compose 开发基础 | Kotlin | Android Developers
1.一些变量的定义
var numbers: Array<Int = Array<Int>(3, {0})
var integers = Array<Int>(3, {0})
var names = arrayOf("A", "B", "C")
var twoDim = Array<Array<Int>>(3, {
Array<Int>(3, {0})
})
var twoLines = arrayOf(
arrayOf("a", "b", "c"),
arrayOf("d", "e", "f")
)
2.类和构造函数
/*
普通的类
*/
class AnyClass {
var id: Int = 0
//类中定义变量必须先赋值
//构造函数
constructor(){
println("Primary Constructor")
}
constructor(id: Int){
this.id = id
println("ID = $id")
}
}
fun main(){
//val anyClass = AnyClass()
AnyClass()
//val anotherAnyClass = AnyClass(100)
AnyClass(100)
}
/*
类连接接口:
例:在MVC架构中Controller连接Model接口:
*/
class ControllerClass: ControllerInterface {
private var xxModel: ModelInterface? = null
//必须赋值null不然报错
override fun attachModel(xxModel: ModelInterface) {
this.xxModel = xxModel
}
override fun controllerFunc(){
xxModel?.modelFunc()
}
override fun controllerFunc(variable: Int){
xxModel?.modelFunc(variable)
}
}
3.Compose for Desktop项目
import androidx.compose.desktop.ui.tooling.preview.Preview
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material.Button
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application
@Composable
@Preview
fun App() {
var text by remember { mutableStateOf("Hello, World!") }
//MaterialTheme是App的整个窗口
MaterialTheme {
//Button是可视的,可显示一些东西(如文本)
Button( onClick = { text = "Hello, Desktop!" })
{
Text(text)
}
//Row和Column不显示任何事物,但可以安排需要显示的事物的布局
//如果Row和Column标红,鼠标放在上面根据提示进行import操作
Row{
Text("Hello")
Text("World")
}
Column{
Text("Hello")
Text("World")
}
}
}
fun main() = application {
Window(onCloseRequest = ::exitApplication) {
App()
}
}
*网上kotlin资料居然不算多,泪目