Kotlin
現在のバージョンと強制アップデートのバージョンを比較して、処理をするということはよくあります。 重大なバグがあった場合に「このバージョン以上は〜する」みたいなときに使うあれです。 おまけ こんなけバージョン比較方法を紹介しといてあれなんですが…
はじめに 今回は、正規表現に関するおすすめ対処法です。 正規表現で文字列を判定する場合に、Utility・Helperなどのクラスを作成するのはよくみられます。 間違いではないので、別に悪いことではないのですが、Utility・Helperなどのクラスは役割がどの範囲…
Xmlから変更 android:tint="@color/hoge" コードから変更 ImageViewのTintColorをコードから変更したい場合バージョンごとに差異があるのでメモです。 API21以上向けの場合は以下のようにしておけば問題なしです。 /** * 画像のTintColorを設定 * * @param c…
Ktlintのフォーマットをビルド時に実行するように設定してみた
はじめに 今回は、Kotlinのコーディング規約作成しなきゃと追われている人たちに贈ります。 Kotlin公式コーディングスタイル コーディング規約はJetBrainsがご丁寧に書いてくれています。 プロジェクトごとに規約考えるのではなく、素直にしたがっておくのが…
はじめに 今回は、RecyclerViewが空の状態に別のViewを表示する方法をご紹介します。 ListViewのEmptyViewみたいなものを想像していただければいいと思います。 ゴールとしては、RecyclerViewに setEmptyView(View) を呼び出すだけで設定できるまでを目指し…
はじめに Android ではご存知の通り、Viewの表示切り替えは ViewのVisibility を切り替えてあげれば変更することができます。 Visibility 状態 View.VISIBLE 表示(デフォルト) View.INVISIBLE 不可視化(見えなくなるが、サイズは維持される) View.GONE …
はじめに 今回はViewからActivityを取得する方法を紹介します。 ViewからActivityを取得する必要があるケースというのはあまり出会うことはないかもしれませんが、、 ついこの間、必要になったことがあったのでこちらに残しておこうかと思います。 方法 View…
はじめに アニメーションファイルを作ろうとして毎回忘れてしまうため、備忘録として残しておきます。 また、合わせてAndroid JetPack Navigationでの設定サンプルも記載しておきます。アニメーションファイル自体はAndroid JetPack Navigationでなくても使…
はじめに Firebase の Cloud Firestore の購読処理を DocumentSnapshot または QuerySnapshot をRxに変換する方法を紹介します。 使いやすいように改善 購読処理には、 addSnapshotListener() のリスナー使用します。 ポイントとしては以下の2つです。 エラ…
はじめに Androidの画像キャッシュライブラリのGlideの小ネタ集を備忘録として記録します。 github.com オリジナルサイズ Glide.with(context) .load(imageUrl) .apply(RequestOptions().override(Target.SIZE_ORIGINAL)) .into(imageView) 丸くする Glide.w…
はじめに AndroidでUUID(Universally Unique Identifier)を取得する方法を紹介します。 ログインしていないユーザーの識別にUUIDを使用するケースがよくありますよね。 ユニークなIDを取得するにはさまざまな方法があったりしますが、結局どれ使えばいいの…
はじめに 今回は、CollapsingToolbarLayout を使うときに便利なリスナーを紹介します。 CollapsingToolbarLayoutの基本的な実装については説明しないので、xmlの組み方については公式ページでも見てください。 material.io AppBarLayoutをカスタム Collapsin…
はじめに 今回は、Androidのリスナーをラムダを使用して簡略化する方法を紹介します。 例として、EditTextのTextWatcherをサンプルとして扱ってみます。 TextWatcherとは、EditTextが入力された文字を通知するリスナーのことです。 以下のように、入力された…
はじめに 今回はFirestoreの保存するプロパティ名を指定する方法を紹介します。 オブジェクトへの変換方法については以下の記事も参考にしてみてください。 qoopmk.hatenablog.jp 解決 @PropatyName を使用して保存されるプロパティ名を指定することができま…
はじめに 今回は、Androidのさまざまな画面サイズを取得するサンプルコードを紹介します。 取得方法 青色の線が 画面サイズ(screenSize) 黄色の線が アプリが表示されている画面サイズ(applicationScreenSize) ピンク色の線が ナビゲーションバーサイズ…
はじめに Android Studioは使われていないクラスや関数はみやすくていいのですが、使われていないリソースは表示されないのでわかりにくかったりします。 そこで、いつも導入しているのが、 「Android Resource Usage Count」というプラグインです。 リソー…
はじめに Firebase の Cloud Firestore で DocumentSnapshot または QuerySnapshot から モデルに変換する方法を紹介します。 解決策 Firestoreが用意してくれている toObject 関数を使えば終わりです。 firebase.google.com FirebaseFirestore.getInstance(…
はじめに みなさんは、Android StudioでKotlinをコーディングしているときに、 もっとドキュメントが書きやすくなればいいと思ったことはないでしょうか。 私はJavaDocに慣れてしまっていたので、 /** を入力し、改行したらドキュメントが自動生成されるもの…
今回はみんな大好きFirebaseを使用する際に、 簡単にRxに変換する方法をご紹介したいと思います。 Firebaseといえど、認証系のAuth、データベースのFirestore、ストレージのStorageなど様々な機能があります。 そのすべてのリスナーをRxで流すような実装はよ…
AndroidでCloud Firestoreを使っていて、 データをCollectionに追加する際に、ServerTimestampを使って日時を設定していました。 以下のようなコードでもFirestoreには問題なく作成日時(createdAt)は保存されます。 /** * メッセージ * * @property id メ…