
Androidのライブラリを作って公開してみた
2023.09.20
アプリ開発に少し飽きてきたから違うなにかを開発したい!

(株)ライトコードでモバイルアプリケーション開発をしている笹川(ささがわ)です!
いきなりですが、スマホアプリ開発に飽きちゃいました!
なので、ライブラリを作ってみることにしました!(ドドーン)
どんなライブラリ?
最近のAndroidアプリ開発では、言語に「Kotlin」を利用することがスタンダードになってきました。
Kotlinで書くことで、Javaよりも記述が減るのが嬉しいですね!
さらに「Kotlin Extension(拡張)」をすることで、より簡素に記述できるようになります
よく使うロジックや、ちょっと面倒なロジックを「Kotlin Extension」で用意されていたら、みんなの「DevelperExperience」は素敵なことになるのでは?
ってことで、そんなライブラリを作ることにしました!
それがこちら!
【common-ktx】
https://github.com/sasa-nori/common-ktx
(名前については思いつかなかったので触れないでください)
どんなことが出来るの?
さて、どんなことが出来るのか!?
例えば…
ダブルクリック禁止のクリックリスナーをセットできる
こんな感じで、ダブルクリック禁止のクリックリスナーをセットできたり。
1 2 3 | button.setOnSingleClickListener { // run } |
「SharePreferences」の値を扱える
こんな感じに「SharePreferences」の値を扱えたり。
1 2 3 4 5 6 7 | val pref = Preferences(this) // 読み込み val isFirstLaunch:Boolean = pref.isFirstLaunch // 書き込み pref.isFirstLaunch = true pref.isFirstLaunch = false |
※委譲プロパティについてはこちらが詳しいよ!
ActivityのRuntimePermissionのチェックが出来る
こんな感じに、Activity の RuntimePermission のチェックが出来ちゃったり。
※もちろん Fragment でも使えるよ!
1 2 3 4 5 6 7 8 | if (hasPermission(arrayListOf( Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE ))) { // run } else { // request permission } |
ActivityからFragmentをAddできる
こんな感じで、Activity から Fragment を Add できたり。
1 | addFragment(R.id.container, FirstFragment()) |
Android開発で、お決まりで使うものを詰め込んだ感じになってます!
どうやって入れるの?
下記の感じで入れてもらえたら動きます!(動くはずです!)
1 2 3 4 5 6 7 | allprojects { repositories { google() jcenter() maven { url 'https://jitpack.io' } } } |
1 2 3 | dependencies { implementation "com.github.sasa-nori:common-ktx:$latestVersion" } |
※2020/3/25時点の最新バージョンは 1.0.6です
implementation ではなく api で宣言
ライブラリの方で導入している、各種 ktxライブラリは implementation ではなく api で宣言しています。
ですので、そのまま同じバージョンのものが使えるようにしております。
ちなみに、Android 6.0 (minSdkVersion 23) となっております。
Android5 系に関しては、もう笹川の中ではサポート対象外です(笑)
国内外で使っていただけるように
そして、国内外の方にも使っていただけるように、なるべく日本縛りはない感じで作っています!
README なんかも、なるべく英語で書いてます!
日付を扱う際の Locale などは、JAPAN にせず getDefault() としています。
この辺は、今後もしかすると JAPAN 指定のメソッドを用意するかもしれません。
今後の運用は?
基本的に、私が思いついたら更新していく予定ですが、皆様の issue や PR お待ちしております!
是非、コミッターになっていただけると嬉しいです!
ブランチ運用
ブランチ運用については、 git flow でいく予定です!
develop ブランチに対しての feature ブランチから PR を作成すると、Danger が実行されるようになっています。
ですので、Lint エラーは、解決してからじゃないとマージはしないのでご注意ください。
今回作ったライブラリはこちら!
こちらの記事もオススメ!
その他記事
書いた人はこんな人

- 新潟生まれ新潟育ち本業はモバイルアプリエンジニア。
日々、猫(犬)エンジニアとして活躍中!
IT技術9月 20, 2023開発効率を少しだけ上げるGithubActionsの便利な使い方
IT技術4月 7, 2023【ISUCON部】ライトコードISUCON部 始動!
IT技術4月 18, 2022【Android】Webでよくみる入力Boxを手作り
IT技術1月 19, 2022【Android】SeekbarでスイッチなUIを作る