はじめに
Android アプリ開発といえば、かつては Java が主流でした。しかし、近年は Kotlin が公式に推奨される言語となり、新規開発の多くが Kotlin で行われています。
とはいえ、既存のライブラリやコード資産には Java が多く、「Java と Kotlin を組み合わせて開発する」 というケースは非常に一般的です。
本記事では、Java × Kotlin のハイブリッド開発手法を整理し、中級者向けにアプリ自作の実践的なポイントを紹介します。
Java と Kotlin の違いを整理
Java の特徴
- 歴史が長く、ライブラリ・学習資料が豊富
- Android API の多くが Java ベースで提供
- コードがやや冗長になりがち
Kotlin の特徴
- Google が公式に推奨する言語
- コードが簡潔でバグが減りやすい
- Java と完全な相互運用性あり
両方を使うメリット
- 既存の Java 資産を活かせる
- 新規開発部分は Kotlin でシンプルに記述
- 徐々に Kotlin へ移行可能
開発環境の準備
1. Android Studio のインストール
- 公式サイトから Android Studio をダウンロード
- SDK とエミュレータを合わせてセットアップ
2. 新規プロジェクトの作成
- 言語選択で Kotlin を選ぶのが推奨
- ただし後から Java クラスも追加可能
3. Java クラスと Kotlin クラスの混在
app/java/
ディレクトリに両方のソースを配置できる- Android Studio が自動でビルド時にコンパイルしてくれる
Java から Kotlin を呼び出す
Kotlin で書かれたクラスを Java から利用するのは簡単です。
// Kotlin クラス
class Greeting {
fun hello(name: String): String {
return "こんにちは、$name さん"
}
}
// Java クラス
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Greeting g = new Greeting();
String msg = g.hello("太郎");
Log.d("TEST", msg);
}
}
Kotlin から Java を呼び出す
逆に、既存の Java クラスを Kotlin から呼び出すこともできます。
// Java クラス
public class Calculator {
public int add(int a, int b) {
return a + b;
}
}
// Kotlin クラス
class Sample {
fun execute() {
val calc = Calculator()
val result = calc.add(3, 5)
println("計算結果: $result")
}
}
Kotlin からは Java をシームレスに呼び出せるため、既存コードの活用が容易です。
実践例:Java のライブラリを Kotlin アプリで利用する
例えば、既存の JSON パーサー (Gson) は Java で実装されていますが、Kotlin から簡単に利用可能です。
import com.google.gson.Gson
data class User(val name: String, val age: Int)
fun main() {
val json = """{"name":"Hanako","age":25}"""
val user = Gson().fromJson(json, User::class.java)
println(user)
}
このように、Kotlin プロジェクトで Java 製ライブラリを直接活用できます。
Java → Kotlin 移行のコツ
Android Studio には Java → Kotlin 自動変換機能 が用意されています。
- [Code] → [Convert Java File to Kotlin File] を実行
- 完璧ではないが、70〜80% は自動変換可能
- 大規模プロジェクトを段階的に Kotlin 化できる
まとめ
- Android 開発は Kotlin が主流だが、Java の資産も重要
- Java と Kotlin は同一プロジェクトで共存可能
- 既存の Java コードを活かしつつ、Kotlin のシンプルさを取り入れるのがおすすめ
- 自作アプリでも 「既存資産は Java、UI ロジックは Kotlin」 といった分担が効率的
これから Android アプリを作るなら、Kotlin をメインにしつつ、Java も併用して柔軟に開発を進めましょう。