Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

Android で Kotlin を使ってみる

Android Studio では Kotlin が完全にサポートされるため、Kotlin ファイルでの新規プロジェクトの作成、既存プロジェクトへの Kotlin ファイルの追加Java 言語コードの Kotlin への変換を行えます。 コード補完、lint チェック、リファクタリング、デバッグなど、Android Studio の既存のすべてのツールを Kotlin コードに対して使用できます。

Kotlin 言語に慣れていない方は、次のリンクをご覧ください。

  • Kotlin 言語を学ぶ: Kotlin の基礎に関する 30 分間の集中コースです。
  • Kotlin サンプル: Kotlin で書かれたサンプル Android アプリのライブラリです。サンプルは継続的に追加されています。
  • その他の Kotlin 関連リソース: サンプル、コードラボ、動画、書籍など、Kotlin に関するすべてのリソースがまとめられています。

既存のアプリに Kotlin を追加する

Kotlin の使用に関するスキルと自信を深めるには、次の方法をおすすめします。

  1. まず、Kotlin でテストを記述することから始めます。テストはコードの回帰をチェックするのに便利で、コードのリファクタリングを行うための良い練習になります。既存の Java コードを Kotlin に変換する場合に、テストは特に有効です。パッケージング時にはアプリにバンドルされないので、コードベースに Kotlin を安全に追加するのに適しています。
  2. Kotlin で新しいコードを記述します。既存の Java コードを Kotlin に変換する前に、小さな新しい Kotlin コードをアプリに追加してみてください。小さなクラスまたはトップレベルのヘルパー関数から始めてください。Java コードとの適切な相互運用性を確保するために、関連するアノテーションを Kotlin コードに必ず追加してください。
  3. 既存のコードを Kotlin に更新します。新しい Kotlin コードの記述に慣れたら、既存の Java コードを Kotlin に変換します。小さな Java 機能を抽出して Kotlin のクラスおよびトップレベル関数に変換することを検討してください。

Android Studio には、Java ファイルのコードを Kotlin に変換するコード コンバータも含まれています。また、クリップボードから貼り付けた Java コードを Kotlin ファイルに変換することもできます。

Android API と Kotlin の例

Kotlin には Java 言語との完全な相互運用性があるので、Android API を呼び出す処理は多くの場合、対応する Java コードとまったく同じように見えます。ただし、これらのメソッド呼び出しは Kotlin の構文機能と組み合わせることができるようになっています。

多くの Android API で Kotlin の言語特有のリファレンスが提供されています。詳細については、KTX ガイドAndroid 上の Kotlin リファレンス ドキュメントをご覧ください。

Kotlin での Android API の呼び出しと、Java 言語での同じコードを比較した例を以下にいくつか示します。

アクティビティを宣言する

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);
  }
}

on-click リスナーを作成する

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) {
    ...
  }
});

アイテム クリック リスナーを作成する

Kotlin

private val onNavigationItemSelectedListener
    = BottomNavigationView.OnNavigationItemSelectedListener { item ->
  when (item.itemId) {
    R.id.navigation_home -> {
      textMessage.setText(R.string.title_home)
      return@OnNavigationItemSelectedListener true
    }
    R.id.navigation_dashboard -> {
      textMessage.setText(R.string.title_dashboard)
      return@OnNavigationItemSelectedListener true
    }
 }
 false
}

Java

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

おすすめの方法

Kotlin を学習する際には、次のガイドラインを参考にしてください。

  • コードの行数を最小限に抑えることよりも、読みやすさを優先します。Kotlin 構文を過度に使用しないようにしてください。
  • チームに最適なコーディング規則と慣用的なコードを確立することをおすすめします。KotlinAndroid Kotlin のスタイルガイドには、Kotlin コードの書式設定に関するアドバイスが記載されています。