標籤:工具 開啟檔案 之間 簡單的 ons save post center 編譯
如果你已經使用過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
庫,以及Kotlin
和Kotlin 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查看。每個章節只要修改了代碼,我都會進行提交,所以一定要檢查所有的代碼變化。
使用Kotlin建立Android項目