想要直接运行Kotlin的示例代码?点击这里下载

在Android Studio 3.0中支持完整的Kotlin语言功能(点击这里下载预览版),因此可以轻松地使用Kotlin文件创建新项目,将Kotlin文件添加到现有项目中,或者将Java语言代码转换为Kotlin。 您可以使用所有Android Studio的现有工具与Kotlin代码,如自动完成,限制检查,重构,调试等。

本文下面附属的视频内容文章展示了如何在Android Studio中开始使用Kotlin。 要了解有关Kotlin语言的更多信息,请查看Kotlin的学习资源

在新工程中使用Kotlin

要想在新的工程项目中使用Kotlin,只需要在新建工程向导的弹窗中多点击一个选项。

1.在Android Studio中,单击文件>新建>新建项目。 或者,如果您刚打开Android Studio并查看欢迎使用Android Studio窗口,请点击开始一个新的Android Studio项目。

2.在第一个屏幕上,选中包括Kotlin支持。 对比以前创建新工程项目的步骤,这是唯一的区别。

3.单击下一步,继续执行向导,直到完成。

同时你也可以采用Kotlin代码来创建Activity模板。 不过目前只有针对手机和平板电脑的开发模板提供了Kotlin。 虽然其他的模板也同样支持从Java代码自动转换到Kotlin代码,但并没有Kotlin语言的完整支持。

同Java文件一样,Kotlin文件保存在src / main / java /目录中。

现有项目中使用Kotlin

如果要将Kotlin代码添加到现有项目中,只需单击File > New,然后选择各种Android模板之一。 如果在此菜单中没有看到模板列表,请先打开“Project”窗口并选择您的应用程序模块。

在出现的向导中,选择Kotlin作为源语言。

或者,您可以单击File > New > Kotlin File/Class 创建一个基本文件。 New Kotlin File/Class窗口为文件类型提供了几种选择,但是您选择哪一种并不重要,因为Kotlin会在以后更改声明类型时自动切换文件类型。

默认情况下,新的Kotlin文件保存到src / main / java /目录结构下。这样去找Kotlin和Java文件都会很容易。 但是,如果您希望将Kotlin文件与Java文件分开,可以将Kotlin文件放在src / main / kotlin /下。如果想这样做,那么您需要将此目录包含在sourceSets配置中:

android {
   sourceSets {
       main.java.srcDirs += 'src/main/kotlin'
   }
}

使用Kotlin代码替换Java代码

在Android Studio 3.0中,打开Java文件,然后选择Code > Convert Java File to Kotlin File

或者,创建一个新的Kotlin文件(File> New> Kotlin File / Class),然后将Java代码粘贴到该文件中 - 当出现提示时,单击“是”将代码转换为Kotlin。 您可以检查下次不要显示此对话框,这样可以轻松将Java代码段转储到Kotlin文件中。

用Kotlin使用Android的相关API

Kotlin语言与Java语言是完全互通的,因此一般情况下完全可以像Java代码一样调用Android API。 当然除了以下这些调用,你还需要注意一下:

1.定义类

Kotlin:

class MyActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity)
  }
}

Java:

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

2.设置点击事件的监听

Kotlin:

val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener {
  ...
}

Java:

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

3.底部导航栏条目的点击事件监听

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
}

Java:

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
    = 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语言的更多信息,请查看Kotlin的学习资源

results matching ""

    No results matching ""