1、安装Android Studio插件 Kotlin插件与Android Studio集成在一起使用还需要等待AS3.0版本的正式发布,当然官网也有3.0的Preview版本。所以在AS3.0版本前的AS就必须安装Kotlin插件才能使用Kotlin进行开发了。 插件安装步骤如下:
a、找到AS的 File | Settings | Plugins | Install JetBrains plugin
b、输入Kotlin查找到插件,点击 “安装”完了之后重启AS。
2、创建Android工程
按照平常创建项目的方式,创建完成之后选择MainActivity,然后可以使用快捷键(Ctrl+Shift+Alt+K)或者点击 Code选择Convert Java File to Kotlin File,将Java文件转化成Kotlin文件。如图:
3、在工程中配置Kotlin
如上图,可以直接点击弹出提示中 “Configure”之后会弹出对话框,可以选择相应的Kotlin版本,然后点击“OK” 配置完成之后,打开工程的gradle文件可以看到kotlin的插件已经添加,然后点击顶部的弹出提示“Sync Now”完成配置。
4、实现简单demo,运行后如下图:
代码如下: MainActivity.kt
package com.demo.hellokotlin import android.content.Intent import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.Toast import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main); kotlin_ok.setOnClickListener { login(username.text.toString(),pwd.text.toString()); } } fun login(username:String, password: String){ if (username.equals("") && password.equals("")){ Toast.makeText(this,"请输入用户名或密码!",1).show() }else{ var intent: Intent = Intent(MainActivity@this, ShowActivity::class.java) intent.putExtra("NAME",username) intent.putExtra("PWD",password) startActivity(intent) } } }ShowActivity.kt
package com.demo.hellokotlin import android.os.Bundle import android.support.v7.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_show.* class ShowActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_show) var name:String = intent.getStringExtra("NAME") var pwd:String = intent.getStringExtra("PWD") showtxt.setText("You name is:"+name) kotlinCallJava.setOnClickListener { //kotlin调用Java类,设置用户名和密码 var kotlinDeom = KotlinDemo(name,pwd) println(kotlinDeom.callJava()) showtxt.setText(kotlinDeom.callJava()) } javaCallKotlin.setOnClickListener { // kotlin调用Java方法,然后在通过Java调用kotlin方法返回结果 var kotlinDeom = KotlinDemo(name,pwd) showtxt.setText(kotlinDeom.callKotlin(name)) } } }KotlinDemo.java
package com.demo.hellokotlin; public class KotlinDemo { private String name; private String password; public KotlinDemo(String name, String password) { this.name = name; this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String callJava(){ return "Kotlin call java: UserName is"+name+" and PWD is"+password; } public String callKotlin(String str){ KotlinBeanDemo bean = new KotlinBeanDemo(str); return bean.showName(); } }KotlinBeanDemo.kt
package com.demo.hellokotlin class KotlinBeanDemo(val string: String) { fun showName(): String{ return "Java call kotlin : The name is "+string } }最后,感觉Kotln学习起来还是不难的,不过完全掌握还是得花些时间的,Kotlin语法也比较简洁,在Android使用时一直被吐槽的findViewById也不需要了。唯一有点不习惯的是Kotlin结束不需要加“;”这对写惯了Java的同学来说很不习惯,尤其是Java和kotln混合开发切换的时候。不过Kotlin加上也不会报错了。
参考: http://kotlinlang.org/docs/tutorials/kotlin-android.html https://www.qcloud.com/community/article/600422 http://blog.csdn.net/qq_23547831/article/details/52923248

