SharedPreference の編集
SharedPreference の編集は、とてもよく使われます。Android KTX を使うと、コードが少し短くなるのに加え、もっと自然に読み書きできるようになります。
Kotlin
Android KTX と Kotlin
sharedPreferences.edit()
.putBoolean(key, value)
.apply()
sharedPreferences.edit {
putBoolean(key, value)
}
パスの差分を平行移動
次のコードでは、2 つのパスの差分を 100px 平行移動させています。
Kotlin
Android KTX と Kotlin
val pathDifference = Path(myPath1).apply {
op(myPath2, Path.Op.DIFFERENCE)
}
val myPaint = Paint()
canvas.apply {
val checkpoint = save()
translate(0F, 100F)
drawPath(pathDifference, myPaint)
restoreToCount(checkpoint)
}
val pathDifference = myPath1 - myPath2
canvas.withTranslation(y = 100F) {
drawPath(pathDifference, myPaint)
}
View の onPreDraw での操作
この例では、View の onPreDraw コールバックから、ある操作を呼び出しています。Android KTX を使わない場合、たくさんのコードを書かなければなりません。
Kotlin
view.viewTreeObserver .addOnPreDrawListener(
object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
viewTreeObserver.removeOnPreDrawListener(this )
actionToBeTriggered()
return true
}
})
Android KTX と Kotlin
view.doOnPreDraw { actionToBeTriggered() }
この他にも、Android KTX は多くの場所でコードを簡略化できます。
完全な API リファレンス ドキュメント は、GitHub でご覧ください。
スタートガイド
Android Kotlin プロジェクトで Android KTX を使ってみるには、アプリ モジュールの
build.gradle
ファイルに次の記述を追加します。
repositories {
google()
}
dependencies {
// Android KTX for framework API
implementation 'androidx.core:core-ktx:0.1'
...
}
その後プロジェクトを同期すると、自動的に IDE のオートコンプリート リストに拡張機能が表示されます。必要な import 文は、拡張機能を選択した際にファイルに自動的に追加されます。
なお、API はプレビュー期間中に変更される可能性があります。実際にプロジェクトで使う場合は、安定版になるまでに大規模な変更が行われることも考慮してください。
androidx: Hello World!
Android KTX では、
androidx
で始まるパッケージ名が使われていることに気づく方もいるでしょう。これは、今後の Android Support Library で使われる予定となっている新しいパッケージ名プレフィックスです。
android.*
と
androidx.*
を分けることによって、どれがプラットフォームにバンドルされている API で、どれが Android のさまざまなバージョンで動作するアプリ デベロッパー用静的ライブラリなのかを区別しやすくすることが目的です。
次のステップ
本日のプレビュー版リリースは、まだ始まりに過ぎません。今後数か月間で、皆さんからの
フィードバックや貢献 を受けつつ、API の改善を繰り返す予定です。API が安定し、API の互換性を約束できるようになったときには、Android Support Library の一部として Android KTX をリリースしたいと考えています。
皆さんとともに Android KTX を作り上げることを楽しみにしています。ぜひ Kotlin をご活用ください。
Reviewed by
Yuichi Araki - Developer Relations Team
この記事は Jake Wharton(@JakeWharton )、Florina Muntenescu(@FMuntenescu )、James Lau(@jmslau ) による Android Developers Blog の記事 "Android Developers Blog: Introducing Android KTX: Even Sweeter Kotlin Development for Android " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android KTX のプレビュー版についてお知らせします。これは、Android 開発で今まで以上に簡潔で自然な Kotlin コードを楽しく記述できるようにする拡張機能セットです。Android KTX は、Android フレームワークと Support Library を土台として、便利な API レイヤーを提供します。これによって、さらに自然な Kotlin コードを記述できるようになります。
Android KTX のうち、Android フレームワークをカバーしている部分は、GitHub レポジトリ で公開されています。ぜひお試しください。皆さんのフィードバックや貢献もお待ちしています。Android KTX の残りの部分、つまり Android Support Library をカバーしている部分は、近日中に予定されている Support Library のリリースに合わせて公開される予定です。
VIDEO
では、Android KTX を使って自然で簡潔な Kotlin コードを書く例をいくつか紹介しましょう。
Android KTX を使ったコードサンプル
文字列を Uri に変換
まずは、簡単な例から見てみましょう。いつもなら Uri.parse(uriString)
を呼び出します。Android KTX によって、文字列を自然に URI に変換できる拡張機能が String クラスに追加されます。
Kotlin
Android KTX と Kotlin
val uri = Uri.parse(myUriString)
val uri = myUriString.toUri ()
SharedPreference の編集
SharedPreference の編集は、とてもよく使われます。Android KTX を使うと、コードが少し短くなるのに加え、もっと自然に読み書きできるようになります。
Kotlin
Android KTX と Kotlin
sharedPreferences.edit()
.putBoolean(key, value)
.apply()
sharedPreferences.edit {
putBoolean(key, value)
}
パスの差分を平行移動
次のコードでは、2 つのパスの差分を 100px 平行移動させています。
Kotlin
Android KTX と Kotlin
val pathDifference = Path(myPath1).apply {
op(myPath2, Path.Op.DIFFERENCE)
}
val myPaint = Paint()
canvas.apply {
val checkpoint = save()
translate(0F, 100F)
drawPath(pathDifference, myPaint)
restoreToCount(checkpoint)
}
val pathDifference = myPath1 - myPath2
canvas.withTranslation(y = 100F) {
drawPath(pathDifference, myPaint)
}
View の onPreDraw での操作
この例では、View の onPreDraw コールバックから、ある操作を呼び出しています。Android KTX を使わない場合、たくさんのコードを書かなければなりません。
Kotlin
view.viewTreeObserver .addOnPreDrawListener(
object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
viewTreeObserver.removeOnPreDrawListener(this )
actionToBeTriggered()
return true
}
})
Android KTX と Kotlin
view.doOnPreDraw { actionToBeTriggered() }
この他にも、Android KTX は多くの場所でコードを簡略化できます。完全な API リファレンス ドキュメント は、GitHub でご覧ください。
スタートガイド
Android Kotlin プロジェクトで Android KTX を使ってみるには、アプリ モジュールの build.gradle
ファイルに次の記述を追加します。
repositories {
google()
}
dependencies {
// Android KTX for framework API
implementation 'androidx.core:core-ktx:0.1'
...
}
その後プロジェクトを同期すると、自動的に IDE のオートコンプリート リストに拡張機能が表示されます。必要な import 文は、拡張機能を選択した際にファイルに自動的に追加されます。
なお、API はプレビュー期間中に変更される可能性があります。実際にプロジェクトで使う場合は、安定版になるまでに大規模な変更が行われることも考慮してください。
androidx: Hello World!
Android KTX では、androidx
で始まるパッケージ名が使われていることに気づく方もいるでしょう。これは、今後の Android Support Library で使われる予定となっている新しいパッケージ名プレフィックスです。android.*
と androidx.*
を分けることによって、どれがプラットフォームにバンドルされている API で、どれが Android のさまざまなバージョンで動作するアプリ デベロッパー用静的ライブラリなのかを区別しやすくすることが目的です。
次のステップ
本日のプレビュー版リリースは、まだ始まりに過ぎません。今後数か月間で、皆さんからのフィードバックや貢献 を受けつつ、API の改善を繰り返す予定です。API が安定し、API の互換性を約束できるようになったときには、Android Support Library の一部として Android KTX をリリースしたいと考えています。
皆さんとともに Android KTX を作り上げることを楽しみにしています。ぜひ Kotlin をご活用ください。
Reviewed by Yuichi Araki - Developer Relations Team