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项目学习。

参考文章:http://code.tutsplus.com/tutorials/how-to-use-kotlin-in-your-android-projects--cms-24052

000 初步使用Kotlin开发Android应用的更多相关文章

  1. 用Kotlin开发Android应用(II):创建新项目

    这是关于Kotlin的第二篇.各位高手发现问题,请继续“拍砖”. 原文标题:Kotlin for Android(II): Create a new project 原文链接:http://anton ...

  2. 用Kotlin开发Android应用(I):介绍

    关于Kotlin,网上已有一些介绍的文章,包括Antonio Leiva的这组blog翻译稿.不过,我还是想跟进它们.翻译它们,以锻炼自己的英文翻译.各位高手发现问题,请及时“拍砖”. 原文题目:Ko ...

  3. 使用Kotlin开发Android应用(I):简单介绍

    使用Kotlin开发Android应用(I):简单介绍 @author ASCE1885的 Github 简书 微博 CSDN 原文链接 Kotlin是一门基于JVM的编程语言.它正成长为Androi ...

  4. 让你的代码量减少3倍!使用kotlin开发Android(二) --秘笈!扩展函数

    本文承接上一篇文章:让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客wing的地方酒馆 上一节说到,kotlin可以省去getter,se ...

  5. 让你的代码量减少3倍!使用kotlin开发Android(一)

    让你的代码量减少3倍!使用kotlin开发Android(一) 创建Kotlin工程 本文同步自博主的私人博客:wing的地方酒馆 写在前面 使用kotlin开发android已经两周多了.得到的好处 ...

  6. 使用Kotlin开发Android应用 - 环境搭建 (1)

    一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositorie ...

  7. 使用Kotlin开发Android应用(II):创建新工程

    在基本了解什么是Kotlin以及Kotlin可以做什么之后,接下来就到了配置Android Studio并使用Kotlin开发Android apps的时候了.首次配置Android Studio需要 ...

  8. 使用Kotlin开发Android

    查看我的所有开源项目[开源实验室] 欢迎增加我的QQ群:[201055521],本博客client源代码下载[请点击] 摘要 我首先声明我并没有使用Kotlin非常长时间,我差点儿是在学习的同一时候写 ...

  9. 用Kotlin开发Android应用(IV):定制视图和Android扩展

    原文标题:Kotlin for Android (IV): Custom Views and Android Extensions 原文链接:http://antonioleiva.com/kotli ...

随机推荐

  1. c3p0 APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks

    2018-01-04 15:02:03,319 ---com.mchange.v2.async.ThreadPoolAsynchronousRunner: com.mchange.v2.async.T ...

  2. plsql 查询到别的用户下面的表

    原因:勾选了"Allow multiple connections" 解决方法:打开"Tools"下面的"Perference",里面有个& ...

  3. Practial Vim 学习笔记一

    . 号作用是重复上一个动作. >+G  缩进 j 光标下移 u 撤销操作 $ 光标移到行尾 x 删除光标下的字符 dd 删除整行 i 切换到Insert模式 Esc 返回 f 将光标移到下个字符 ...

  4. RTT工程管理

    一.RTT工程管理 RTT采用SCons管理工程. 本次安装版本:Python-2.7.3.1.exe,python-2.7.11.msi,scons-2.3.1-setup.exe 安装完成后,需要 ...

  5. 大数据处理-Trie树

    大数据处理--Trie树 1.1.什么是Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被 ...

  6. 说出几个与spring同类型的开源框架,说出几个与hibernate同类型的开源框架,说出几个与struts同类型的开源框架

    说出几个与spring同类型的开源框架,说出几个与hibernate同类型的开源框架,说出几个与struts同类型的开源框架 解答: 1)与spring同类型的开源框架:JUIDE.EJB3.0.pi ...

  7. Windows编程中回调函数的使用心得(MFC篇)

    回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定 ...

  8. tree的使用

    //html <ul id="tree"></ul>  js function initTree() { $('#tree').tree({ url: '/ ...

  9. APP接口基础学习一

    PHP面向对象思想 1.客户端发送http请求到达服务器 2.服务器做出响应返回数据(XML,JSON或者其他)到达客户端 XML与JSON 的区别 1.可读性:xml胜出 2.生成数据:json胜出 ...

  10. Multiview

    新建3个ViewController的类 新建main.stroyboard,并配置好相应的布局(编辑界面,连接视图与类,ViewController的Storyboard ID,连接3个Button ...