Kotlin让Android更简单~

TT_123456789 2020-08-14 18:32:35 2053

kotlin在android的应用,参考kotlin文档

Kotlin 非常适合开发 Android 应用程序,将现代语言的所有优势带入 Android 平台而不会引入任何新的限制:

兼容性:Kotlin 与 JDK 6 完全兼容,保障了 Kotlin 应用程序可以在较旧的 Android 设备上运行而无任何问题。Kotlin 工具在 Android Studio 中会完全支持,并且兼容 Android 构建系统。
性能:由于非常相似的字节码结构,Kotlin 应用程序的运行速度与 Java 类似。 随着 Kotlin 对内联函数的支持,使用 lambda 表达式的代码通常比用 Java 写的代码运行得更快。
互操作性:Kotlin 可与 Java 进行 100% 的互操作,允许在 Kotlin 应用程序中使用所有现有的 Android 库 。这包括注解处理,所以数据绑定和 Dagger 也是一样。
占用:Kotlin 具有非常紧凑的运行时库,可以通过使用 ProGuard 进一步减少。 在实际应用程序中,Kotlin 运行时 只增加几百个方法以及 .apk 文件不到 100K 大小。
编译时长:Kotlin 支持高效的增量编译,所以对于 清理构建会有额外的开销,增量构建通常与 Java 一样快或者更快。
学习曲线:对于 Java 开发人员,Kotlin 入门很容易。包含在 Kotlin 插件中的自动 Java 到 Kotlin 的转换器 有助于迈出第一步。Kotlin 心印 通过一系列互动练习提供了语言主要功能的指南。
kotlin用于Android的案例学习

Kotlin 已被一些大公司成功采用,其中一些公司分享了他们的经验:

Pinterest 已经成功地将 Kotlin 引入了他们的应用程序中,每个月有 1 亿 5 千万人使用。
Basecamp 的 Android 应用程序是 100% Kotlin 代码,他们报告了程序员幸福的 巨大差异,以及工作质量和速度的巨大改善。
Keepsafe 的 App Lock 应用程序也已转换为 100% Kotlin, 使源代码行数减少 30%、方法数减少 10%。
用于 Android 开发的工具
Kotlin 团队为 Android 开发提供了一套超越标准语言功能的工具:

Kotlin Android 扩展是一个编译器扩展, 可以让你摆脱代码中的 findViewById() 调用,并将其替换为合成的编译器生成的 属性。
Anko 是一个提供围绕 Android API 的 Kotlin 友好的包装器的库 ,以及一个可以用 Kotlin 代码替换布局 .xml 文件的 DSL。
参考网上的资料以及亲身使用,使用kotlin开发android得到的好处有很多,大大的简化了开发的过程,减少代码量。kotlin简单,易用,代码量少。kotlin最主要特点:

无缝对接java,可以java代码和kotlin代码互相调用
一键java转kotlin,如果你有遗留的java代码,可以一键转换
函数扩展功能,再也不知道啥叫继承

在这之后我将讲一下如何在自己的android项目中使用Kotlin,让我们能摆脱findviewbyid:

创建Kotlin项目

1.首先我们创建一个空项目,然后在setting->plugins中找到Kotlin并下载。

2.在app的gradle下加入如下代码

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

3.在project的gradle下加入如下代码

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.0.4"

最后在Code里面把java代码转化为Kotlin代码就可以了,转化后发现代码出现变化 快捷键ctrl+shift+Alt+K

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}

代码变成了这个样子,运行起来发现程序正常。之后在进行最简单的hello world操作,像这样

textView.text = "hello kotlin" //textView就是id

发现代码比以前少了,不需要再麻烦的findviewbyid,但是需要引入一个

import kotlinx.android.synthetic.main.activity_main.* 这样我们使用代码设置控件的属性就不需要在findview啦

运行程序,这样就能改变text的值

这样就完成了第一个kotlin的安卓程序,代码确实比以前少了很多!

4.接下来测试一下另一项控件,button的点击事件,如果不使用kotlin的话,曾今的代码是这样的

Button button = findviewbyid(R.id.button)
button.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
Toast.makeText(this,"hello world",Toast.LENGTH_SHORT);
}
});

而现在,使用了kotlin以后,只需要简单的一段话就能搞定

butt.setOnClickListener {
Toast.makeText(this,"hello lambda",Toast.LENGTH_SHORT).show()
}

这样就能轻松完成点击弹出文字提示的效果,效果如图:

如果这样还是觉得代码有点复杂的话,还可以更加简便,kotlin还有一个功能,函数拓展,因为toast在很多地方都会用到,所以我们直接封装一个函数,新建一个kt文件,写上以下代码:

fun Context.toast(message:String,length : Int = Toast.LENGTH_SHORT){
Toast.makeText(this,message,length)
}
1
2
现在就可以让button的点击事件达到最简便

butt.setOnclickListener {toast("hello kotlin")}
只需要简单的一句话就能完成目的,使用kotlin的好处有很多,我这里就谈到一些最简单最基本的,讲了怎么摆脱以往的findview,kotlin具体有哪些好处以及使用还需要上网进一步的查询,我这里只讲一些简单的用法,可以查看后面给的学习链接。两个简单的实例,可以看到我们使用kotlin确实简化了android的开发过程,原本繁琐的代码变得更加简洁,这对开发android有莫大的帮助,这种变化显而易见,希望能得到帮助!

原文链接:点击这里

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
TT_123456789
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区