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

(株)ライトコードでモバイルアプリケーション開発をしている笹川(ささがわ)です!
いきなりですが、スマホアプリ開発に飽きちゃいました!
なので、ライブラリを作ってみることにしました!(ドドーン)
こちらの記事もオススメ!
どんなライブラリ?
最近の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 エラーは、解決してからじゃないとマージはしないのでご注意ください。
今回作ったライブラリはこちら!
(株)ライトコードは、WEB・アプリ・ゲーム開発に強い、「好きを仕事にするエンジニア集団」です。
Androidアプリ開発のご依頼・お見積もりはこちらまでお願いします。
また、Androidアプリ系エンジニアを積極採用中です!詳しくはこちらをご覧ください。
※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。
こちらの記事もオススメ!
その他記事
ライトコードよりお知らせ






一緒に働いてくれる仲間を募集しております!
ライトコードでは、仲間を募集しております!
当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。
また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!
なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。
ライトコードでは一緒に働いていただける方を募集しております!
採用情報はこちら書いた人はこんな人

- 新潟生まれ新潟育ち本業はモバイルアプリエンジニア。
日々、猫(犬)エンジニアとして活躍中!
IT技術2020.03.24Androidのライブラリを作って公開してみた
IT技術2019.12.18【最終回】Go言語(Golang)入門~Twitterアプリ作成完了編~
IT技術2019.12.12【第14回】Go言語(Golang)入門~Twitterアプリ作成編~
IT技術2019.12.04【第13回】Go言語(Golang)入門~MySQL利用編~