1.第一次使用Kotlin+Android Studio開發(fā)必須知道的

一 、Android Studio 3.0以下版本使用Kotlin,則需要添加Kotlin插件

Android Studio 3.0以下版本,默認(rèn)不支持Kotlin,若使用Kotlin則需要添加Kotlin插件,具體配置如下:

Android Studio 2.3.3【穩(wěn)定版】點擊此處下載~

1.在Android Studio中添加Kotlin語言依賴包。
Kotlin 標(biāo)準(zhǔn)庫插件:File–> Setting–>Plugins–>搜索Kotlin–>安裝,如下所示:

↑_添加Kotlin語言依賴包
↑_下載Kotlin插件中

2.下載、安裝完成后,重啟Android Studio

二、 Android Studio 3.0創(chuàng)建Kotlin項目

Android Studio 3.0及其以版本上是支持Kotlin開發(fā)的。
Android Studio 3.0【Beta版】下載地址:點擊此處下載~搶先體驗 Android Studio 中的最新功能和改進。

說明:Android Studio 預(yù)覽版可與您的穩(wěn)定版并行運行,因此,您可以同時在這兩個版本中開發(fā)同一項目。詳情查看:如何與穩(wěn)定版一起安裝運行

1.使用AndroidStudio創(chuàng)建Kotlin的項目

說明:在AndroidStudio 中 ,在Welcome to Android Studio頁面中點擊 Start new Android Studio project 或者在原本工作區(qū)間中點擊File–>New –>New Projcet 。 接下來,在Create New Projcet中,勾選上include Kotlin Support,最后一路點擊Next。

使用AndroidStudio創(chuàng)建Kotlin的項目
2. 在項目中添加Kotlin

在File–>New –>在菜單中進行選擇文件類型,如下如圖所示:

在項目中添加Kotlin

如上圖所示向?qū)нM行操作后,在New Android Activity頁面中選擇Kotlin作為開發(fā)語言,然后一路next。

在New Android Activity頁面中選擇Kotlin作為開發(fā)語言
擴展:

Android Studio是很強大的,還提供其他方式創(chuàng)建Kotlin文件
點擊Flie–>New –>Kotlin File/Class 創(chuàng)建一個基本文件。 在New Kotlin File/Class 彈窗中,輸入文件名,可以從多中Kind選擇一種類型。 不必要擔(dān)心創(chuàng)建錯文件類型,在編寫代碼中聲明類型時候,文件會自動切換到聲明所對應(yīng)的類型。
修改Kotlin所存放的路徑
默認(rèn)情況下,Kotlin文件存放在src/main/java/,與java在同一個文件夾下。 若是需要隔開java文件和Kotlin文件,指定一個專門存放Kotlin文件的文件夾。 例如,在src/main 路徑下創(chuàng)建一個kotlin目錄,然后需要在Gralde指定sourceSets配置:

android {
   sourceSets {
       main.java.srcDirs += 'src/main/kotlin'
   }
}
3. 轉(zhuǎn)換Java代碼到Kotlin代碼

在項目中,打開一個java文件,點擊最上面窗口中Code–>Convert Java File to Kotlin File

一種方式是,在Kotlin文件中拷貝Java代碼,然后出現(xiàn)提示,將convert the code toKotlin,勾選中選擇下次不提示該彈窗,這樣也實現(xiàn)Java代碼轉(zhuǎn)成Kotlin。

Convert Java File to Kotlin File
4. 在Kotlin語言中使用Android API

Kotlin與Java語言是互通的,交互使用。因此,Kotlin調(diào)用Android API與Java調(diào)用方式類似。這里列舉幾個案例,進行比對(來源官方):

Java編寫Activity:

public class MyActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);
  }
}

Kotlin編寫Activity:

class MyActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity)
  }
}
5.為View設(shè)置點擊事件:

Java:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    ...
  }
});

Kotlin:

val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
  ...
}
6.創(chuàng)建item點擊事件:

Java:

    = new BottomNavigationView.OnNavigationItemSelectedListener() {
  @Override
  public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    switch (item.getItemId()) {
      case R.id.navigation_home:
        mTextMessage.setText(R.string.title_home);
        return true;
      case R.id.navigation_dashboard:
        mTextMessage.setText(R.string.title_dashboard);
        return true;
    }
    return false;
  }
};

Kotlin:

private val mOnNavigationItemSelectedListener
    = BottomNavigationView.OnNavigationItemSelectedListener { item ->
  when (item.itemId) {
    R.id.navigation_home -> {
      mTextMessage.setText(R.string.title_home)
      return@OnNavigationItemSelectedListener true
    }
    R.id.navigation_dashboard -> {
      mTextMessage.setText(R.string.title_dashboard)
      return@OnNavigationItemSelectedListener true
    }
 }
 false
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容