用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

相關文章
相關標籤/搜索