Kotlin for Android II 创建一个工程

发布于 2024-12-12 07:29:30 字数 3899 浏览 5 评论 0

当我从 what Kotlin is and what it can do for us 获得一些启发之后,觉得是时候配置下 Android Studio 来帮助我们使用 Kotlin 开发 Android 应用程序了。其中有些步骤只需要在初次使用时完成一次,但是其他一些 Gradle 配置需要为每一个新项目做一遍。

对于本系列文章,我将创建一个我早些时候创建的 Bandhook 的简化版本,它基本上就是连接到一个基于 RESTful 的音乐 API 然后接收一些乐队的信息。链接到 Bandhook Kotlin on Github 查看源代码。

创建一个新项目然后下载 Kotlin 插件

就像你平常做的那样,我们只需要用 Android Studio 创建一个带 Activity 的基本 Android 项目。

一旦完成,我们需要做的第一件事就是去下载 Kotlin 插件。去到 Android Studio 的系统设置中然后查找 plugins。之后,再次使用搜索找到 Kotlin 插件,安装并重启 IDE。

添加 Kotlin 插件的依赖到的应用程序的 build.gradle 中

该项目的 build.gradle 需要添加一个新的依赖,这个依赖将会被 Kotlin 插件要求以在主 Module 中使用:

buildscript {
  repositories {
    jcenter()
  }
  dependencies {
    classpath 'com.android.tools.build:gradle:1.1.3'
    classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.11.91'
  }
}

配置 Module 的 build.grade###

首先,应用 Kotlin 插件:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

接着,添加 Kotlin 库到你的依赖:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'org.jetbrains.kotlin:kotlin-stdlib:0.11.91'
}

最后,你需要添加我们在下一个步骤创建的 Kotlin 文件夹:

android {
  compileSdkVersion 22
  buildToolsVersion "22.0.0"
 
  ...
 
  sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
  }
}

或者,你可以跳过这一步,当做完下一个步骤时,使用这个 Android Studio 的操作:

我更倾向于手动去做以保持我的 Gradle 文件有整洁有序,但第二个选项可能较为容易些。

创建 Kotlin 文件夹

如果你将项目的视图从 Android 转到 Project ,那将会非常容易。依次选择 app->src->main 然后创建一个名为 kotlin 的文件夹:

将 Java activity 转换成 Kotlin 文件

Kotlin 插件能将 Java 转换为 Kotlin 类. 我们可以轻松的通过 Code 菜单中的 Convert Java File to Kotlin File 选项转换当前的 Activity 到 Kotlin 类 :

IDE 将建议你移动新文件到 Kotlin 文件夹,点击 Move File (或者手动完成,假如你没看到这个选项)。

public class MainActivity : ActionBarActivity() {
 
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
  }
 
 
  override fun onCreateOptionsMenu(menu: Menu): Boolean {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu)
    return true
  }
 
  override fun onOptionsItemSelected(item: MenuItem): Boolean {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    val id = item.getItemId()
 
    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
      return true
    }
 
    return super.onOptionsItemSelected(item)
  }
}

主要区别

看一看之前的代码, 我们可以看到一些明显的差异。 其中很大一部分我们将会在下一篇文章讲解到:

  • 使用冒号,而不是 extends
  • 显式使用 override : 在 Java 中, 我们可以使用一个注释使我们的代码更清晰,但它不是必要条件. Kotlin 将迫使我们使用它.
  • 函数则使用 fun 关键字: Kotlin 是一个面向对象的函数式语言, 因此可能会与其他语言类似,例如 Scala. Java 方法被函数的形式表示。
  • 函数参数命名规则不同: 类型和名称都写在相反的位置,并用冒号隔开。
  • 分号可选: 我们不需要在行的结尾处加上分号。如果我们想要也可以加上, 但如果我们不这样做,它就可以节省大量的时间,并使我们的代码整洁。
  • 其他小细节: 在简介一文中, 我已经说到了 ? 的意义. 这表明参数可以为空。NULL 的处理方式不同于 Java。

总结

也许我们会认为使用一门新语言将会非常困难, Kotlin 被 JetBrains 团队开发出来的,要成为最容易和可交互的语言用来覆盖那些 Java 的不足之处。由于 Android Studio 也是基于 JetBrains 的产品,这将让集成到这个 IDE 中并且开始工作非常简单。

下一篇文章将介绍一些让我们在使用 Kotlin 开发 Android 应用程序时,能让开发过程更简单的奇巧淫技。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

世界和平

暂无简介

文章
评论
24 人气
更多

推荐作者

落墨

文章 0 评论 0

gz5281527

文章 0 评论 0

不识常识

文章 0 评论 0

动物凶猛

文章 0 评论 0

coderyrg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文