用Kotlin开发Android应用(II):建立新项目

这是关于Kotlin的第二篇。各位高手发现问题,请继续“拍砖”。html

 

原文标题:Kotlin for Android(II): Create a new projectjava

原文连接:http://antonioleiva.com/kotlin-android-create-project/android

原文做者:Antonio Leiva(http://antonioleiva.com/about/git

原文发布:2015-03-23github

 

 

在对Kotlin是什么和它可以为咱们作什么有了清晰的概念后,该是配置Android Studio了,让它来帮助咱们用Kotlin开发Android APP。开始只须要作几个步骤,然后续对每一个新项目都须要进行Gradle的配置。编程

 

在这组文章中,我将建立简化版本的Bandhook,Bandhook是我以前开发的,它主要是连接音乐Rest API,然后返回一组乐队的信息。去Github的Bandhook Kotlin项目下能够查看到相关代码。app

 

建立新项目并下载Kotlin插件

按照建立普通项目那样,在Android Studio中,建立仅有一个Activity的基本Android项目。编程语言

 

完成后,要作的第一件事就是去下载Kotlin插件。在Android Studio的Preferences中找Plugins项。在那里搜索Kotlin插件。而后安装Kotlin插件并重启IDE。ide

 

 

添加Kotlin插件依赖关系到应用的build.gradle

根build.gradle须要新的依赖关系,这是在咱们的主模块使用Kotlin的要求:函数

 

1 buildscript {
2     repositories {
3         jcenter()
4     }
5     dependencies {
6         classpath 'com.android.tools.build:gradle:1.1.3'
7         classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.11.91'
8     }
9 }

 

配置build.gradle模块

首先,应用Kotlin插件:

 

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

 

而后,添加Kotlin库到你的依赖关系中:

 

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

 

最后,你须要添加Kotlin文件夹,它是在下一步建立的,用来存放源代码的文件夹:

 

 1 android {
 2     compileSdkVersion 22
 3     buildToolsVersion "22.0.0"
 4  
 5     ...
 6  
 7     sourceSets {
 8         main.java.srcDirs += 'src/main/kotlin'
 9     }
10 }

 

或者,你能够跳过这一步,使用Android Studio功能作下一步:

 

 

我更喜欢手动作这步,管理个人Gradle文件组织,可是,第二个选择更容易一些。

 

建立Kotlin文件夹

你能够很容易的直观地由“Android”变换到“Project(项目)”。进入“app->src->main”,建立名为“kotlin”的文件夹:

 

 

转换Java Activity到Kotlin文件

Kotlin插件能够把Java Activity转换到Kotlin类。在“Code”菜单中,选择“Convert Java File to Kotlin File”,咱们能够很是容易地将咱们的Activity转换到Kotlin类:

 

 

IDE建议将新文件移至到Kotlin文件中。点击“Move File”(若是大家看见这个选项能够手动移动文件)。

 

你会获得转换为Kotlin的很是类似代码。我建议你去阅读这些代码,直至你理解它们的区别:

 

 1 public class MainActivity : ActionBarActivity() {
 2  
 3     override fun onCreate(savedInstanceState: Bundle?) {
 4         super.onCreate(savedInstanceState)
 5         setContentView(R.layout.activity_main)
 6     }
 7  
 8  
 9     override fun onCreateOptionsMenu(menu: Menu): Boolean {
10         // Inflate the menu; this adds items to the action bar if it is present.
11         getMenuInflater().inflate(R.menu.menu_main, menu)
12         return true
13     }
14  
15     override fun onOptionsItemSelected(item: MenuItem): Boolean {
16         // Handle action bar item clicks here. The action bar will
17         // automatically handle clicks on the Home/Up button, so long
18         // as you specify a parent activity in AndroidManifest.xml.
19         val id = item.getItemId()
20  
21         //noinspection SimplifiableIfStatement
22         if (id == R.id.action_settings) {
23             return true
24         }
25  
26         return super.onOptionsItemSelected(item)
27     }
28 }

 

主要差别

只要阅读前面的代码,咱们就能够看到一些明显的差异。更多的不一样会在后续的文章中读到:

 

  • 使用冒号替代“extends”关键字
  • 显式地使用“override”:在Java中,咱们能够用注释使咱们的代码更清晰,但不是必须的。而Kotlin强制咱们这么作。
  • 对于函数用“fun”:Kotlin是面向对象的函数式开发语言,它很是相似其余开发语言,如Scala。Java的方法是以函数表示的。
  • 函数参数用不一样的命名方法:类型和名称以另外一种方式编写,用冒号分割。
  • 选项用分号:每行结束不须要分号。若是要用也能够。可是,不用分号能够节省咱们的时间,并且代码更清晰。
  • 其它次要细节:在介绍一文中,我已经谈过‘?’符号。它表示参数能够是空(null)。对于空的处理不一样于在Java的用法。

 

总结

虽然咱们能够认为使用一门新的编程语言会是很困难,可是Kotlin是有JetBrains团队建立的最简单的和可互操做的编程语言,并覆盖Java不足的须要。因为Android Studio也是基于JetBrains的产品,这将很容易地集成到这个IDE中,并开始使用它。

 

在下一篇文章中将介绍一些技巧和窍门,让咱们在用Kotlin开发Android APP时更加轻松。

 

前一篇:http://www.cnblogs.com/figozhg/p/4983919.html

相关文章
相关标签/搜索