Android
現在のバージョンと強制アップデートのバージョンを比較して、処理をするということはよくあります。 重大なバグがあった場合に「このバージョン以上は〜する」みたいなときに使うあれです。 おまけ こんなけバージョン比較方法を紹介しといてあれなんですが…
概要 今回はUIを実装するにあたって常に意識してほしいことをまとめました。 ここでいうUIとは主にレイアウト(xml)のことを指しています。 UIといってもユーザーエクスペリエンスの話がどうという話をするわけではないです。あくまでデザイナーではなく開…
developer.android.com つい最近 Toast が表示されないというバグを見つけたので共有します。 AndroidのIssueにも起票されていました。 https://issuetracker.google.com/issues/36951147 端末の設定で通知をOFFにしてしまっていると発生します。 Toastを表…
Xmlから変更 android:tint="@color/hoge" コードから変更 ImageViewのTintColorをコードから変更したい場合バージョンごとに差異があるのでメモです。 API21以上向けの場合は以下のようにしておけば問題なしです。 /** * 画像のTintColorを設定 * * @param c…
はじめに 今回は、AndroidStudioでフォーマットのマクロを組む方法を紹介します。 これを設定しておくと、インデントが揃っていなかったり不要なスペースが入っていたり不要なインポートがされているということはおおよそ防ぐことができます。 チームないで…
はじめに 今回はAndroidアプリで環境ごとにアプリ名を変更する方法をご紹介します。 どういったときに必要なのか ここでいう環境というのは主にFlavorのことをさしています。 app/build.gradleで設定するあれです(説明雑)。 本番環境・開発環境・検証用な…
はじめに 今回は、RecyclerViewが空の状態に別のViewを表示する方法をご紹介します。 ListViewのEmptyViewみたいなものを想像していただければいいと思います。 ゴールとしては、RecyclerViewに setEmptyView(View) を呼び出すだけで設定できるまでを目指し…
はじめに Androidエミュレータで画像を選択して送信 とか プロフィール画像を設定する とか、、 実機ではすでに撮影済みの画像を使えばいいのですが、Androidエミュレータだとデフォルトだと画像が何もない状態なので、今回はそんなエミュレータに画像を追加…
はじめに Android ではご存知の通り、Viewの表示切り替えは ViewのVisibility を切り替えてあげれば変更することができます。 Visibility 状態 View.VISIBLE 表示(デフォルト) View.INVISIBLE 不可視化(見えなくなるが、サイズは維持される) View.GONE …
はじめに 今回はViewからActivityを取得する方法を紹介します。 ViewからActivityを取得する必要があるケースというのはあまり出会うことはないかもしれませんが、、 ついこの間、必要になったことがあったのでこちらに残しておこうかと思います。 方法 View…
概要 DIライブラリについて比較する DIライブラリ https://www.slideshare.net/Jintin1018/dagger-2-vs-koin https://blog.moyuru.io/post/tech/2018/10/daggertokoin/ Dagger2 利点 Runtimeエラーが発生しない 処理速度が早い 欠点 学習コスト高い コンパイ…
概要 UIインスタンスの生成において、以下の3つを比較する。 ViewBinding DataBinding Android Kotlin Extensions ViewBinding https://developer.android.com/topic/libraries/view-binding Android JetPack Android Studio 3.6 Canary 11+ から使用できる…
SingleActivityの利点 バックキー制御がシンプルになる Fragmentからのバックキー制御もコールバックが用意されたので簡単になった Android Architecture Component Navigationが使える deepLinkに対応している Fragment・Dialogの画面遷移がシンプルになる …
はじめに Androidのアイコンは結局どんなサイズを用意すればいいのかという質問をよくデザイナーの方にされるのでこちらに記録しておきます。 結論 以下の2つのアイコンを用意してもらえれば、ImageAssetでインポートできます。 developer.android.com ホー…
はじめに 今回はアプリの通知(Push通知)のスモールアイコンについて解説したいと思います。 このスモールアイコンですが、実は奥が深くバージョン差異が多いので、注意が必要です。 通知に関する概要のリンクを貼っておきます。 developer.android.com ス…
はじめに Firebase Cloud Firestore の関連データを扱う場合は Reference型 を使いましょう。 Reference型とは FirestoreのCollectionReference・DocumentReferenceのことで、以下のドキュメントの「Cloud Firestore の参照」のことです。 firebase.google.c…
はじめに 以前、SharedPreferenceのデータを確認する方法を紹介しました。 今回はそれを実機で確認することもできるので紹介します。 qoopmk.hatenablog.jp Android-Hyperionを導入 Android-Hyperionというライブラリを使うと実機で確認できる上、データを動…
はじめに 今回は、Android Jetpackライブラリの一つであるRoomをGUIで確認する方法を紹介します。 Roomとは、AndroidのSQLiteをより使いやすくしてくれているORMラッパーライブラリの一種です。 developer.android.com SQLiteのファイルを抽出する Roomを使…
はじめに 今回は、Android SharedPreference のデータを確認する方法を紹介します。 AndroidStudio DeviceFileExplorerで確認 SharedPreferenceはAndroidStudioのDeviceFileExplorerで確認することができます。 DeviceFileExplorerについては公式ドキュメン…
はじめに アニメーションファイルを作ろうとして毎回忘れてしまうため、備忘録として残しておきます。 また、合わせてAndroid JetPack Navigationでの設定サンプルも記載しておきます。アニメーションファイル自体はAndroid JetPack Navigationでなくても使…
はじめに Firebase の Cloud Firestore の購読処理を DocumentSnapshot または QuerySnapshot をRxに変換する方法を紹介します。 使いやすいように改善 購読処理には、 addSnapshotListener() のリスナー使用します。 ポイントとしては以下の2つです。 エラ…
はじめに Android Studioのプロジェクトは、Xcodeみたくショートカットがないのでファイルを開くのは少し面倒だったりします。 そんなときにおすすめなのがコマンドでプロジェクトを起動してしまう方法を紹介したいと思います。 解決 Android Studioの「Tool…
はじめに Androidのbuild.gradleに署名情報を記載することが多いと思いますが、 その情報をGit管理したくない場合の方法を紹介します。 別ファイルを作成 signingConfigsの情報を定義した、gradleファイルを作成します。 デバッグ用のものも作成していますが…
はじめに 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」というプラグインです。 リソー…