kotlin在安卓中的应用

2024-01-08 23:48
文章标签 应用 kotlin 安卓中

本文主要是介绍kotlin在安卓中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

Kotlin是由JetBrains设计的开放源码的编程语言,它正在Java开发者中变得越来越流行。Kotlin通常被吹捧为Java的继承者,相比较Java而言,Kotlin提供更为丰富的开发经验,因为它更现代,更具表现力和更简介。

如果你在寻求Android开发的可替代编程语言,那么应该试一下Kotlin。使用Kotlin,你可以很容易的在Android工程中替代Java或者与Java混合使用。

本文接下来将介绍在Android Studio工程中如何使用Kotlin和Kotlin插件。

前置条件

继续本文之前,你首先需要完成如下两件事情:

将你的Andoid Studio更新到最新版本 理解Kotlin的基本语法

如果你不熟悉Kotlin编程语言的话,建议先阅读Kotlin指南中的开始章节。

1. 安装Kotlin插件

在Android Studio的快速开始菜单中,选择Configure>Plugins:

\

在打开的页面中,点击底部的Install JetBrains plugin…:

在插件列表中选择或者搜索Kotlin Extensions For Android并点击右边窗口的Install Plugin按钮:<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPjxpbWcgYWx0PQ=="" src="http://www.2cto.com/uploadfile/Collfiles/20150630/20150630083713157.png" title="\" />

由于这个扩展插件依赖于Kotlin插件,因此会弹出一个对话框提示我们同时去下载它,点击Yes按钮开始插件的下载:

当下载安装完成之后,重启Android Studio就可以激活插件了。

2. 创建Kotlin Activity

在Android Studio中,右键单击工程包名在弹出的菜单中选择New>Kotlin File:

\

在弹出的对话框中,输入Activity的名字并在类型下拉列表中选择Class。我们把名字命名为MainActivity:

当类被创建出来后,你将会看到一个警告,提示你配置app模块来支持Kotlin:

单击警告提示条的链接,在弹出的对话框中点击OK按钮选择默认的Kotlin插件版本即可:

为了配置你的工程支持Kotlin,Kotlin插件修改了build.gradle文件。点击Sync Now按钮就可以应用这些改动了:

到这里,工程的配置完成了。让我们回到刚才创建的Kotlin类来开始Kotlin的编程吧。

3. 使用Kotlin

为了保持例子的简单,我们将展示如何创建一个Activity,它包含一个用于显示String字符串的TextView。

确保你的类继承自Activity,并重写其onCreate函数。当然,你要使用Kotlin的方式实现。如果你还不熟悉Kotlin,建议通过快捷键Control+O来激活Android Studio的代码生成功能,从而得到正确的函数签名:

\

生成之后,我们的类应该如下所示:

package com.hathy.kotlinsampleimport android.app.Activity
import android.os.Bundlepublic class MainActivity: Activity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)}
}

使用val关键字创建TextView的一个只读实例:

val myMessage = TextView(this)

调用TextView的setText函数设置要显示的字符串,接着调用setContentView将TextView设置给它:

myMessage.setText("Hello")
setContentView(myMessage)

就像在Java Activity中,你也需要在AndroidManifest.xml文件中声明Kotlin Activity,以便让Android系统识别到它。假如这是你工程中唯一的Activity,那么manifest文件看起来如下所示:

现在你可以在你的Android设备或者模拟器上运行这个app了。虽然Kotlin编译器比Java编译器稍微慢一点,但你可能察觉不到编译时间的显著变化。

4. 使用Kotlin的Android扩展插件

Kotlin的Android扩展插件使得开发者可以像对待Activity属性一样对待定义在Activity的XML布局文件中的组件。也就是说,如果使用这个插件,你将不再需要调用findViewById。这些属性因此被称为合成属性(synthetic properties)。

要在项目中使用这个特性,需要在app模块的build.gradle文件中加入org.jetbrains.kotlin:kotlin-android-extensions作为构建脚本依赖。不要忘了点击Sync Now按钮来同步这个改变到工程中:

buildscript {dependencies {classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"}
}

现在让我们创建一个和前面步骤创建的类似的Activity,但是使用布局XML文件来定义TextView。创建一个布局XML文件并命名为another_activity.xml。在这个文件中,定义TextView,id为myMessage:

新建另一个Kotlin类AnotherActivity,继承自Activity并重写onCreate函数,实现如下所示:

package com.hathy.kotlinsampleimport android.app.Activity
import android.os.Bundlepublic class AnotherActivity: Activity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)}
}

在onCreate函数中调用setContentView并把刚才创建的布局XML文件设置给它:

setContentView(R.layout.another_activity)

现在,你可以使用下面代码片段导入TextView,而不是使用findViewById的方式:

import kotlinx.android.synthetic.another_activity.myMessage

如果布局文件中存在其他的组件,你可以使用如下语句来一次性全部导入:

import kotlinx.android.synthetic.another_activity.*

现在你可以通过使用id来访问TextView,就像该TextView是Activity类的一个属性一样。例如,修改TextView显示的字符串:

myMessage.setText("Hello")

5. 将Java类转换为Kotlin

我们可以使用Kotlin插件将现存的Java类转换成Kotlin类。为了尝试这个特性,首先创建如下所示的Java类,它是一个打印两个整数之和的简单的Activity:

public class YetAnotherActivity extends Activity {private int a,b;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);a=10;b=20;Log.d("MESSAGE", "The sum is "+(a+b));}
}

使用快捷键Control+Alt+Shift+J,或者选择菜单Code>Convert Java File to Kotlin File:

\

转换后的Kotlin类如下所示:

public class YetAnotherActivity : Activity() {private var a: Int = 0private var b: Int = 0override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)a = 10b = 20Log.d("MESSAGE", "The sum is " + (a + b))}
}

除了文件内容改变之外,文件的扩展名也从.java变为了.kt。

总结

本文我们通过在Android Studio中安装Kotlin插件和Kotlin Android扩展插件学到了如何在Android工程中使用Kotlin。由于Kotlin和Java在很大程度上可互操作,如果你还在学习Kotlin,那么最好是逐步在你的Android项目中应用它。

为了学习更多的Kotlin相关知识,我建议浏览Kotlin指南。开始章节将会帮助你尽快熟悉这门新语言。


这篇关于kotlin在安卓中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/585270

相关文章

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象