您的位置:首页 > 移动开发 > Android开发

000 初步使用Kotlin开发Android应用

2017-04-10 12:25 429 查看
Kotlin是Jetbrians公司开发的一款编程语言,基于jvm兼容Java。

要求

IDE:IDEA或者Android Studio(简称studio)
对Kotlin语言有所了解,官方文档:https://kotlinlang.org/docs/reference/

在studio中安装kotlin插件:



Kotlin插件

创建一个Kotlin类的Activity



创建Kotlin类

在弹出对话框中选择创建类:



MainActivity.kt

一旦该类创建好之后会在编辑区的右上角出现警告提示:



Kotlin支持警告

点击警告中的蓝色字体会出现以下对话框:



在工程中配置Kotlin

两个单选,让你选择为整个项目中所有的module使用kotlin还是只有一个特定的module使用Kotlin。“Choose Kotlin plugin version”选择Kotlin的版本。配置好之后点击“OK”按钮。在编辑区右上角出现一下提示:



配置完成之后的提示

此时支持Kotlin的module中build.gradle已经备选修改,如下提示:



build.gradle被修改

此时点击Sync Now同步build.gradle
到此为止MainActivity创建成功,但是它还不是一个Activity子类,需要继承
Activity。

使用Kotlin创建Activity类

已经创建好的ManiActivity:

class MainActivity {
}

此时ManiActivity还不是一个Activity,添加如下代码使之成为一个Activity

import android.app.Activity
class MainActivity: Activity() {
}

习惯使用Java的猿类可能会感到奇怪,“:”号在Kotlin语法中表示继承,为什么要继承Activity()而不是Activity,这与Kotlin语法有关。
覆写OnCreate方法,并且创建一个TextView用于显示文本。

import android.app.Activity
import android.os.Bundle
import android.widget.TextView

class MainActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val textView = TextView(this)
textView.text = "Hello Kotlin"
setContentView(textView)
}
}

Kotlin比Java更简洁此处可以看到

使用kotlin-android-extensions插件

作用:使用kotlin-android-extensions插件可以让你不使用findViewById方法也能使用组件。
创建一个ExtensionsActivity,并创建一个extensions_activity布局文件,布局文件中包含一个TextView,代码如下:
ExtensionsActivity:

import android.app.Activity
import android.os.Bundle

class ExtensionsActivity: Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}

extensions_activity:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp" />

</RelativeLayout>

修改Build.gradle中文件:添加kotlin-android-extensions插件

buildscript {
ext.kotlin_version = '1.0.0-beta-4584'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
}
}


classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"说明使用kotlin-android-extensions插件


修改ExtensionsActivity代码,获取TextView组件并使用,代码会简单的多。

import android.app.Activity
import android.os.Bundle
import kotlinx.android.synthetic.activity_extensions.text;

class ExtensionsActivity: Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_extensions);
text.text = "Dota"
}
}


说明:
import kotlinx.android.synthetic.activity_extensions.text
意思是引入activity_extensions布局中id为text的组件。
若要引入activity_extensions布局中的所有组件写法为:
import kotlinx.android.synthetic.activity_extensions.*;


将Java代码转换为Kotlin代码

创建名为JavaToKotlinActivity的Activity:

public class JavaToKotlinActivity extends AppCompatActivity {
private int a, b;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_java_to_kotlin);
a = 10;
b = 20;
Log.i("bail", "sum of a + b = " + (a + b));
}
}

将Java代码传唤为Kotlin代码指引



代码转换工具

使用代码转换工具,并且有快捷键提示,每个平台的快捷键有可能不同。
转换后的代码:

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log

class JavaToKotlinActivity : AppCompatActivity() {
private var a: Int = 0
private var b: Int = 0

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_java_to_kotlin)
a = 10
b = 20
Log.i("bail", "sum of a + b = " + (a + b))
}
}

总结

在这篇文章中你已经初步学会在Android Studio中安装Kotlin插件,并在
Android项目中使用Kotlin,Kotlin插件和Kotlin Android Extensions插件。由于Kotlin与Java有极大的交互性,如果继续坚持学习Kotlin,建议在Android项目学习。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: