为了账号安全,请及时绑定邮箱和手机立即绑定

使用Kotlin开发一个简单的Android应用程序

标签:
Android

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’

5b82c7200001c8b203500286.jpg

图1:将Kotlin添加到Android Studio

5b82c7200001ae3103500290.jpg

图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是一种简单易用的语言,使用户可以跳过冗长的问题。

5b82c7200001ce5407000169.jpg

图3:Java和Kotlin类之间的区别

5b82c72100017daf02000244.jpg

图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调试。

5b82c7210001ec5406400371.jpg

图5:从Component Tree窗口中选择TextView元素

5b82c72100015ed503500265.jpg

图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" />

5b82c7210001ebaa03230542.jpg

图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。

原文链接:http://www.apkbus.com/blog-822717-76854.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消