Android Studio使用Kotlin开发Android入门

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

猜你喜欢

转载自blog.csdn.net/aidesudi/article/details/72917871