赞
踩
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。