12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

オレオレ Kotlin Extensionライブラリを作ってみた

Last updated at Posted at 2020-03-06

ライブラリ作っちゃった

ここ数ヶ月の間でフルKotlinの新規Androidアプリ開発に携わっており、ktxやExtensionの知見が貯まってきたのでライブラリ作っちゃおっかなーってことでやっちゃいました!

common-ktx

まぁ、名前に関してはツッコミは不要ですw

どんな内容なの?

よくある実装をExtensionで実装してます!

例えば、こんな感じでダブルクリック禁止のクリックリスナーをセットできたり

MainActivity.kt
button.setOnSingleClickListener { 
   // run
}

こんな感じにSharePreferencesの値を扱えたり
※委譲プロパティでゴニョってるよ!

MainActivity.kt
val pref = Preferences(this)
val isFirstLaunch:Boolean = pref.isFirstLaunch

こんな感じにRuntimePermissionのチェックが出来ちゃったり

MainActivity.kt
if (hasPermission(arrayListOf(
        Manifest.permission.WRITE_EXTERNAL_STORAGE,
        Manifest.permission.READ_EXTERNAL_STORAGE
    ))) {
    // run
} else {
    // request permission
}

お決まりの処理をサクッと呼び出したいときに便利そうだなってことで色々用意してます!

入れ方

下記の感じで入れてもらえたら動きます!(はずです!)

build.gradle
allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

app/build.gradle
dependencies {
    implementation "com.github.sasa-nori:common-ktx:$latestVersion"
}

最新バージョンはこちら

ライブラリの方で導入している各種ktxライブラリは implementation ではなく apiで宣言しているので、そのまま同じバージョンのものが使えるようにしております

ちなみに、Android 6.0 (minSdkVersion 23) となっておりますので...ご注意を

そして国内外の方にも使っていただけるようになるべく日本縛りはない感じで作ってます!

LocaleとかJAPANにしたかったけど!!

READMEなんかもなるべく英語で書いてます!(英単語並べただけww

今後のメンテ

基本的に私が思いついたら更新していく予定ですが、皆様のissueやPRお待ちしておりますので是非コミッターになっていただけると嬉しいです!

ブランチ運用については git flowでいく予定です!

develop ブランチに対しての feature ブランチからPRを作成しますとDangerが実行されるようになっていますので、Lintエラーはちゃんと解決してもらってからじゃないとマージはしないです :thumbsup:

AndroidのKotlin利用プロジェクトの必須ライブラリを目指して!!

common-ktxをよろしくおねがいしますー!

12
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?