使用Kotlin建立Android項目

來源:互聯網
上載者:User

標籤:工具   開啟檔案   之間   簡單的   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庫,以及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查看。每個章節只要修改了代碼,我都會進行提交,所以一定要檢查所有的代碼變化。

使用Kotlin建立Android項目

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.