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最主要特点:

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


在这之后我将讲一下如何在自己的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)}

现在就可以让button的点击事件达到最简便

butt.setOnclickListener {toast("hello kotlin")}

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

最后附上一些学习kotlin的链接:

使用Kotlin进行Android开发

Android开发必备知识:为什么说Kotlin值得一试

这本书适合你吗?

Kotlin Primer·第一章·启程

技术小黑屋


作者:熊文康

原文地址

更多相关文章

  1. android SQLite 使用实例
  2. Android(安卓)开发从入门到精通
  3. [Android(安卓)Develop_004] Android(安卓)Background Service
  4. 【Android应用】【Shape使用总结】
  5. Android与js交互实例
  6. android ellipsize的内容及使用
  7. 在Android(安卓)Studio 编写应用程序,在模拟器中显示“我对Androi
  8. android中使用wakelock
  9. Android零碎知识点

随机推荐

  1. Android 图片的帧动画
  2. android 笔记 --- 分辨率大全
  3. [置顶] Android应用程序中加载进度设计
  4. android:name
  5. Android 下arcgis开发学习第一天——环境
  6. 自定义 RadioButton 图片
  7. Android(安卓)开发技术周报 Issue#287
  8. 安能饭否Android客户端
  9. Android之底部弹窗对话框
  10. Android Studio开发学习(十三)——Fragment