よく書く処理をまとめた Kotlin Extension ライブラリ common-ktx を作った
フル Kotlin での Android 開発を続けるうちに、ktx や Extension の「よく書く処理」が貯まってきたので、ライブラリにまとめました。
common-ktx です(名前へのツッコミは受け付けていません)。
どんな内容?
よくある実装を Extension として用意しています。いくつか例を挙げます。
ダブルクリック防止のクリックリスナー
button.setOnSingleClickListener {
// 連打しても一度しか呼ばれない
}
SharedPreferences の値を型安全に扱う(委譲プロパティで実装)
val pref = Preferences(this)
val isFirstLaunch: Boolean = pref.isFirstLaunch
ランタイムパーミッションのチェック
if (hasPermission(arrayListOf(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE
))) {
// 許可済み
} else {
// request permission
}
お決まりの処理をサクッと呼び出したいときに便利です。
導入方法
JitPack 経由で導入できます。
allprojects {
repositories {
google()
// ※ 当時は jcenter を利用。jcenter は終了済みのため、現在は mavenCentral() を使ってください
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation "com.github.sasa-nori:common-ktx:$latestVersion"
}
最新バージョンは JitPack のページ を参照してください。
内部で導入している各種 ktx ライブラリは implementation ではなく api で宣言しているので、利用側でも同じバージョンをそのまま使えるようにしています。対応は Android 6.0(minSdkVersion 23)以上です。国内外どちらでも使えるよう、Locale 依存は極力入れず、README も英語で書いています。
今後
思いついたら更新していく方針ですが、issue や PR は歓迎です。ブランチ運用は git flow で、develop への feature ブランチ PR で Danger が走り、Lint エラーが残っているとマージしない構成にしています。
Kotlin プロジェクトでの「あると便利」を目指しているので、よければ common-ktx をのぞいてみてください。