使用Kotlin创建Android项目

如果你已经使用过Android Studio和Gradle,那么这一章会比较简单。我不会给出很多细节和截图,因为用户界面和细节可能会一直变化。

我们的应用是由一个简单的天气app组成,正如所使用的Google‘s Beginners Course in Udacity。我们可能会关注不同的事情,但是app的想法都是一样的,你会发现在一个典型的app里面会包括很多不同的东西。如果你的Android开发水平比较低,我推荐这个,这个过程是比较容易的。

1. 在Android Studio中创建一个项目

首先,打开Android Studio并选择Create new Project,然后它会让你输入一个名字,你可以任意取一个名字,比如:Weather App。然后你需要输入公司域名。如果你不会真正发布这个app,这个字段就不是特别重要了,但是如果你有的话可以使用自己的域名。然后给任意选择一个目录作为这个项目的保存地址。

下一步,它会让你选择最小的API版本。我们选择API 15,因为我们有一个库需要至少API 15才能用。无论如何你把大部分的Anroid用户作为了目标。现在不要选择任何除了手机和平板的其它平台。

最后,我们需要选择一个Activity模版来作为入口。我们可以选择Add no Activity然后从头开始(这是一个好的方式如果这是一个Kotlin项目的话),但是我将选择Blank Activity,因为我待会儿会给你展示Kotlin插件一个好玩的小特性。

暂时不用去关心Activity的名字,layout等。这些你会在下一篇中知道。如果我们需要,我待会儿会修改它。点击Finish然后让它继续创建项目。

2. 配置Gradle

Kotlin插件包括一个让我们配置Gradle的工具。但是我还是倾向于保持我对Gradle文件读写的控制权,否则它只会变得混乱而不会变得简单。不管怎么样,在使用自动工具之前知道它是怎么工作的是个不错的主意。所以这次,我们将手动去做。

首先,你需要如下修改父build.gradle

buildscript {
    ext.support_version = ‘23.1.1‘
    ext.kotlin_version = ‘1.0.0‘
    ext.anko_version = ‘0.8.2‘
    repositories {
        jcenter()
        dependencies {
            classpath ‘com.android.tools.build:gradle:1.5.0‘
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

正如你看到的,我们创建了一个变量来存储当前的Kotlin版本。你读到这里的时候去检测一下最新版本,因为可能会有更新的版本已经发布了。我们需要在几个不同的地方用到那个版本号,比如你需要加上新的Kotlin插件的dependency。你会在你指定的那些模块中的build.gradle中再次需要到Kotlin标准库。

我们对于support library也是如此,Anko库也是同样的做法。用这个方式可以更方便地在一个地方修改所有的版本号。并且使用相同的版本号,更新的时候也不需要每个地方都修改。

我们会增加Kotlin标准库,Anko库,以及KotlinKotlin Android Extensions plugin插件到dependencies。

apply plugin: ‘com.android.application‘
apply plugin: ‘kotlin-android‘
apply plugin: ‘kotlin-android-extensions‘
android {
    ...
}

dependencies {
    compile "com.android.support:appcompat-v7:$support_version"
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile "org.jetbrains.anko:anko-common:$anko_version"
}

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

Anko是一个用来简化一些Android任务的很强大的Kotlin库。我们之后将会学习部分anko,但是现在来说仅仅增加anko-common就足够了。这个库被分割成了一系列小的部分以至于我们不会把没用到的部分加进来。

3. 把MainActivity转换成Kotlin代码

Kotlin plugin包含了一个有趣的特性,它能把Java代码转成Kotlin代码。正如任何自动化那样,结果不会很完美,但是在你第一天能够使用Kotlin语言开始编写代码之前,它还是提供了很多的帮助。

所以我们在MainActivity.java类中使用它。打开文件,然后选择Code -> Convert Java File to Kotlin File。对比它们的不同之处,可以让你更熟悉这门语言。

4. 测试是否一切就绪

我们想再将编写一些代码来测试Kotlin Android Extensions是否在工作。我现在还不会对这些代码做解释,但是我想要确保它们在你的环境中是正常运行的。这可能是配置中最难的一部分。

首先,打开activity_main.xml,然后设置TextView的id:

<TextView
    android:id="@+id/message"
    android:text="@string/hello_world"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

然后,手动在Activity中增加一个import语句(不要担心你现在对这个还不太理解)。

import kotlinx.android.synthetic.main.activity_main.*

onCreate中,你现在可以直接得到并访问这个TextView了。

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    message.text = "Hello Kotlin!"
}

多亏Kotlin和Java之间的互操作性,我们可以在Kotlin中像操作属性一样去操作Java库中的getter/setter方法。我们之后再去讲解属性,但是我想提醒的是,我们可以使用message.text来代替message.setText。编译器将会把它转换成一般的Java代码,所以这样使用是没有任何性能开销的。

现在运行这个app,并且它是正常运行的。检查TextView是否是显示的新的内容。如果你有疑问或者想查看代码,请在Kotlin for Android Developers repository查看。每个章节只要修改了代码,我都会进行提交,所以一定要检查所有的代码变化。

时间: 2024-10-15 21:03:37

使用Kotlin创建Android项目的相关文章

Cocos2d-x创建android项目(cocos2d-x系列三)

不例外.最显眼的就是,在文件的根目录中增加了一个名为setup.py的配置文件.运行它可以配置系统的一些环境变量. 2.创建项目 新的版本我们来动手创建一个新项目吧.找到tools文件夹....额 打包的那个名为create-project.py的文件似乎木有了!原来,在新版本中,创建新项目已经可以通过命令行来创建了,相对于先前版本的图形界面,命令行更简洁.我们要在setup.py中设置参数.以mac平台为例,我们进入到对应目录,运行脚本setup.py: Setting up cocos2d-

创建Android项目时出错——No resource found that matches the given name &#39;Theme.AppCompat.Light&#39;

创建Android项目时出错,error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'. 问题描述: 创建一个Android应用项目时,需指定其适用的SDK版本,默认如下图: 最低适用版本为:API 8: Android 2.2 (Froyo) 目标版本为:API 21: Android 4.X (L Preview) 编译版本为:A

新版本ADT创建Android项目无法自动生成R文件解决办法

本人使用的是ADT是Version 23.0.2,支持Android 6.0之后的系统环境,最高版本23,在创建Android项目的时候,每次创建项目选择“Compile With”低于6.0版本的时候,都无法自动生成R文件,这个时候MainActivity文件报错,反复点击项目后执行“Clean”后,错误无法解 决,按照之前不生成R文件的办法解决不了,那怎么办呢?先分析错误产生的原因. 案例参考:新版本ADT创建Android项目无法自动生成R文件解决办法 | TeachCourse

eclipse创建android项目无法正常预览布局文件

eclipse创建android项目时,预览layout.xml文件时提示: This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in,导致无法正常预览布局文件.问题根源:SDK版本过高,ADT版本过低.解决方法如下. 工具/原料 eclipse ADT插件 方法/步骤 1 找到eclipse文件夹,打开eclipse软件,创建a

eclipse下创建android项目src和layout下为空

在eclipse中创建android项目,src目录和layout目录下为空,现在开始解决这个问题(这只是一个开始). 在网上查找答案,说是eclipse版本和adt版本不兼容. 第一步;查看eclipse的版本号. Help-->About Eclipse--->选择eclipse的logo图标 第二步:查看adt插件的版本号 Help->About Eclipse--->点击,installation Detail 第三步:如果版本号兼容,那么就更新adt版本 Help---&

1.1.1 创建Android项目

一个Android项目包含了所有构成Android应用的源代码文件. 本小节介绍如何使用Android Studio或者是SDK Tools中的命令行来创建一个新的项目. Note:在此之前,我们应该已经安装了Android SDK,如果使用Android Studio开发,应该确保已经安装了Android Studio.否则,请先阅读 Installing the Android SDK按照向导完成安装步骤. 使用Android Studio创建项目 1. 使用Android Studio创建

创建Android项目及常见错误解决

首先打开eclipse,点击右上角有一个这个小按钮,点击java然后OK 因为切换到这个视图来创建android程序更加方便,然后点击 Next Next 这个地方可以修改android应用程序的图标. Next Next Finish,之后就等待一会,鼠标不要动了.如果鼠标去操作其他的地方很容易出现未知的错误. 新建好的android程序经常会有一些这样那样的错误: 1.WARNING: unable to write jarlist cache file 解决办法:http://jingya

eclipse创建android项目,无法正常预览布局文件,出现This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in...

eclipse创建android项目时,预览layout.xml文件时提示: This version of the rendering library is more recent than your version of ADT plug-in. Please update ADT plug-in,导致无法正常预览布局文件.问题根源:SDK版本过高,ADT版本过低.解决方法如下. 工具/原料 eclipse ADT插件 方法/步骤 找到eclipse文件夹,打开eclipse软件,创建and

创建android项目时,出现No resource found that matches the given name &#39;Theme.AppCompat.Light&#39;

这个错误会出现res文件夹有一个红色的叉叉 解决方法:  我们把我们创建的最低版本,改成android 4.0 这个问题就解决了 创建android项目时,出现No resource found that matches the given name 'Theme.AppCompat.Light'