这是关于Kotlin的第二篇。各位高手发现问题,请继续“拍砖”。
原文标题:Kotlin for Android(II): Create a new project
原文链接: http://antonioleiva.com/kotlin-android-create-project/
原文作者:Antonio Leiva( http://antonioleiva.com/about/ )
原文发布:2015-03-23
在对 Kotlin是什么和它能够为我们做什么 有了清晰的概念后,该是配置Android Studio了,让它来帮助我们用Kotlin开发Android APP。开始只需要做几个步骤,而后续对每个新项目都需要进行Gradle的配置。
在这组文章中,我将创建简化版本的 Bandhook ,Bandhook是我之前开发的,它主要是链接音乐Rest API,而后返回一组乐队的信息。去 Github的Bandhook Kotlin项目下 可以查看到相关代码。
按照创建普通项目那样,在Android Studio中,创建仅有一个Activity的基本Android项目。
完成后,要做的第一件事就是去下载Kotlin插件。在Android Studio的Preferences中找Plugins项。在那里搜索Kotlin插件。然后安装Kotlin插件并重启IDE。
根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 }
首先,应用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文件组织,但是,第二个选择更容易一些。
你可以很容易的直观地由“Android”变换到“Project(项目)”。进入“app->src->main”,创建名为“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 }
只要阅读前面的代码,我们就可以看到一些明显的差别。更多的不同会在后续的文章中读到:
虽然我们可以认为使用一门新的编程语言会是很困难,但是Kotlin是有JetBrains团队创建的最简单的和可互操作的编程语言,并覆盖Java不足的需要。由于Android Studio也是基于JetBrains的产品,这将很容易地集成到这个IDE中,并开始使用它。
在下一篇文章中将介绍 一些技巧和窍门 ,让我们在用Kotlin开发Android APP时更加轻松。