Kotlin是专门为现代多平台应用程序设计的静态类型编程语言。 按照本文中的简单说明,尝试并使用它成为您自己的Android应用程序的自豪创造者。
从2007年开始,Android被宣称是开源的,它使用Java和C ++作为其官方语言。 2017年5月,在Google 开发者大会上宣布与Java兼容的静态类型编程语言Kotlin也是Android的官方语言。
对于当前的Android开发人员,Kotlin是一个使用以Android为中心的语言来解决常见问题(例如运行时异常和Java冗长编码)的机会。 Google保证继续支持Java,这意味着您现有的编码模式得以保留。 另一方面,Kotlin是初学者开始使用Android自己编程语言的简单解决方案。
配置Kotlin
Android Studio 3.0自带预装Kotlin。对于3.0以下的其他版本,用户需要手动安装Kotlin,如下所示:
打开设置(Mac中的首选项)。
选择插件并搜索Kotlin(图1)。
点击安装将Kotlin添加到您的Android Studio。
现在,如果Android Studio版本不是3.0,我们需要将下面的代码添加到build.gradle(Project:MyApplication)文件(位于项目窗口左侧的底部,在Gradle脚本中),在 依赖关系部分。
classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version”
classpath “org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version”
还可以将Kotlin版本添加到buildscript部分中,如下所示:
ext.kotlin_version = ‘1.1.x’
现在,将下面一行添加到build.gradle(Module:app)文件中,作为第二行,接着是com.android.application插件:
apply plugin: ‘kotlin-android’
图1:将Kotlin添加到Android Studio
图2:将Java转换为Kotlin
用Kotlin创建一个新项目
Android Studio 3.0用户可以在创建新项目时直接选择Kotlin作为默认语言; 像往常一样,选择文件>新建>新建项目。 要求项目名称的幻灯片将在下面有一个选项,“包括Kotlin支持”。 选中此框将启用Kotlin,并且这是启动活动 - 名为MainActivity.kt的MainActivity(默认名称)。 对于其他版本,用户需要打开MainActivity.java文件,然后选择代码> 将Java文件转换为Kotlin文件(图2)。
图3显示了Java类和Kotlin类之间的区别。 可以注意到以下差异:
1.扩展名从.Java改为.kt。
2.扩展AppCompatActivity被更改为:AppCompatActivity()。在Kotlin中,变量名的声明后面是“:”,然后指定数据类型。
3.'override'成为onCreate函数的一部分,函数语法在Kotlin中变为'fun onCreate'。与Java不同,Kotlin需要为重写的成员提供明确的注释。
我们可以看到Java和Kotlin语法有相当大的差异。 Kotlin是一种简单易用的语言,使用户可以跳过冗长的问题。
图3:Java和Kotlin类之间的区别
图4:布局文件的位置
Kotlin:编码与布局设计
我们来创建一个简单的应用程序,它将在屏幕上打印“Welcome to OSFY”。 在这里,我们需要一个TextView,我们将参考它并设置一个文本。 让我们现在打开位于app> res> layout> activity_main.xml(默认名称)的布局文件。 图4显示了位置。
在这里,我们可以看到一个TextView已经被添加到布局文件中。 从TextView切换到“设计”部分(可以在显示窗口的底部更改,包含代码)。 接下来,从Component Tree窗口中选择TextView(图5)。
在图5的左边,我们有了Palette窗口,在那里我们可以选择和添加更多的小部件到应用程序屏幕。 在右边,我们有属性窗口,在那里我们可以改变选定的TextView属性。
最重要的属性是ID,所以提供一个合适的名称,或者更确切地说,将ID值设置为“textview”,以便于识别。 此ID用于唯一标识我们的Java / Kotlin代码中的特定元素。 我们还可以通过选择属性窗口底部的“查看所有属性”链接来查看许多其他属性,例如设置大小,给出颜色等。
用Kotlin编码:Java / Kotlin部分
在普通的Java代码中,我们需要以下代码来引用一个TextView,并为上面添加的TextView设置一个文本:
TextView t;
t=(TextView) findViewById(R.id.textview);
t.setText(“Welcome to OSFY”);
上面的代码用于将文本设置为TextView元素,在Java编码中将ID“textview”添加到布局文件中。
在Kotlin中,使用了以下代码:
val t: TextView = findViewById(R.id.textview) as TextView;
t.setText(“Welcome to OSFY”);
在这里,我们可以看到编码的变化,同时使用Java和Kotlin。 还要注意的是,如果我们在代码中声明了任何对象,默认情况下它的值为null,那么它将不会在Kotlin中编译。 那是:
//Java
String t;
t=null;
//Kotlin
val t: String = null
上面的代码将在Java中执行,但不会在Kotlin中编译。 这是因为Kotlin提供了“无效安全性”,换句话说,Kotlin标志着NullPointerException的长期问题的终结。
使用Kotlin运行您的第一个项目
为了运行该应用程序,我们需要点击位于Android Studio顶部面板上的运行按钮。 将出现选择设备的窗口(图6)。 我们可以使用Android虚拟设备或连接到计算机的Android设备。
如果您使用的是Android设备,则必须在其中启用开发人员选项,然后才能在菜单选项中启用Android调试。
图5:从Component Tree窗口中选择TextView元素
图6:选择设备来运行应用程序
Kotlin and Oreo
Android最近宣布了其下一个Android版本Android Oreo,以及闪亮的新开发功能。 这些包括可下载的字体,XML中的字体支持,表情符号兼容性,自动调整TextView以及其他样式和主题选项。
我们刚刚了解到Kotlin的特性,它是一种以Android为中心的编程语言,它将帮助我们使用新的Android特性。
例如,让我们看看自动调整TextView的大小。 当我们在Oreo之前编写旧版本的代码时,我们需要为不同的屏幕尺寸设计单独的设计文件,这些屏幕尺寸符合屏幕特征,如高度,宽度等。但是在Oreo,我们有一个自动调整大小的选项, 根据目标设备屏幕自动调整文本的大小。 为此,使用以下代码:
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:layout_width="match_parent"
android:autoSizeTextType="uniform" />
图7:设备屏幕上程序的输出
在Oreo中引入了一个名为autoSizeTextType的新属性,它将控制TextView的自动调整大小。 根据需要,该值可以是一致的,也可以不是零。 我们已经知道使用Kotlin连接元素更容易。 以Kotlin编程方式使用自动大小的TextView时,这是很明显的,如下所示:
val t: TextView = findViewById(R.id.textview) as TextView;
t.setText(“Welcome to OSFY”);
TextViewCompat.setAutoSizeTextTypeWithDefaults(t,TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM);
TextViewCompat.setAutoSizeTextTypeWithDefaults用于目的,其中的参数是TextView即时和自动调整大小的文本类型,可以是TextViewCompat.AUTO_SIZE_TEXT_TYPE_NONE或TextViewCompat.AUTO_SIZE_TEXT_TYPE_UNIFORM。