android 从0开始重构项目 kotlin教程

/*

一直在独立开发,也没时间调整自己的知识系统,虽然写代码速度变快了,项目经验很丰富了,但是快2年了。还是

用以前的开发方式。打算从0开始,开始重新架构我最近刚写完的护林系统。后面也打算开源出去。在此自勉吧。

这个项目就是使用kotlin,我就花了几天就入门。比较简单,但是就是写java 习惯了。之前还坚信 koltin不可能

取代java,因为android 底层,还有大量的库类和 思想都是适用于 java的,koltin只是让写代码变得方便了,但是

没有实质改变。但是像 很多android 程序员 都是独立开发项目的,大量的业务逻辑需要去写,真正只写核心代码

的人比较少吧。所以抱着试一试的态度尝试下。

 

*/

 

kotlin教程: http://www.runoob.com/kotlin/kotlin-basic-syntax.html

根据这个教程大致讲解下:

1.不需要分号结尾,有也没事

2.导包可以把导入一个文件夹,在导入的包比较多的时候,让代码界面看着舒服。

  • kotlin.annotation.*

3.函数定义,给人感觉像人类文字, 直观翻译就是: 方法 sum 传入 ( a (int类型), b(int类型)) 返回 int类型结果

fun sum(a: Int, b: Int): Int {   // Int 参数,返回值 Int
    return a + b
}

4. 表达式作为函数体,实际用处不大 。 在 代码太多了,需要简化代码时候可以使用下

表达式作为函数体,返回类型自动推断:

fun sum(a: Int, b: Int) = a + b

public fun sum(a: Int, b: Int): Int = a + b   // public 方法则必须明确写出返回类型

 

5.可变长参数函数 ,java也有但是麻烦, 使用场景很多,比如接口传递参数时候

fun vars(vararg v:Int){
    for(vt in v){
        print(vt)
    }
}

// 测试
fun main(args: Array<String>) {
    vars(1,2,3,4,5)  // 输出12345
}

6.lambda表达式   , 核心了 

// 这里举例一个Android中最常见的按钮点击事件的例子 
mBtn.setOnClickListener(object : View.OnClickListener{ 
override fun onClick(v: View?) { 
Toast.makeText(this,"onClick",Toast.LENGTH_SHORT).show() 
} 
})

//java 代码为: ,感觉没有变少很多,但是看下面lambda。

et_mima.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(this,"onClick",Toast.LENGTH_SHORT).show();
    }
});

使用lambda 变为:

mBtn.setOnClickListener {

Toast.makeText(this,"onClick",Toast.LENGTH_SHORT).show()

}

 

7. 一个是 var ,一个val . 一般写代码的时候都会初始化值的。所以基本都不用生命类型

可变变量定义:var 关键字

var <标识符> : <类型> = <初始化值>

不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)

val <标识符> : <类型> = <初始化值>

常量与变量都可以没有初始化值,但是在引用前必须

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值