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基于TextView属性android:ellipsize实现跑马灯效果的方法
  2. android经典DEMO
  3. Android中的手势识别
  4. 【Android】注解框架(四)-- 一行代码注入微信支付
  5. android之PhoneGap入门
  6. 丢失Android系统库或者Conversion to Dalvik format failed with
  7. android初学者的探索之路(Android音乐播放器)
  8. WebView---Android与js交互实例
  9. Android(安卓)消息提示框:五种Toast详解

随机推荐

  1. android studio添加忽略文件
  2. 第100章、WebView应用之Javascript调用An
  3. 根据Android架构分层推荐开发书籍
  4. Android---1---HelloWorld
  5. Android(安卓)Camera 使用小结
  6. TextView中ellipsize属性
  7. 文章分享:Android四大组件详解
  8. Android(安卓)CTS 测试研究之二
  9. android调用shell命令及权限问题
  10. android sdk introduction