None 14 4月 2022 Kotlin Flow: Suspension functions can be called only within coroutine body Flowのemitでエラー 例えば、Zipにアーカイブしている最中にprogressをemitできない問題。 fun startPacking() = flow { ... ZipUtil.pack(baseDir, exportPath) { name -> ... val progress: F… 続きを読む
None 14 4月 2022 MVVM UseCase Repositoryメモ ライブラリ Dagger HiltKotlin CoroutineKotlin Flow Activity, Fragment(UI) ViewModelのStateFlowを監視して、随時画面に出力する ViewModel(状態管理) View、DispatcherなしContextが必要な場合は… 続きを読む
None 10 10月 2021 Google Map LatLngからPlaceIdを取得する 写真などの詳細情報を取得するには、位置の座標ではなく、Place IDが必要になっています。例えば駅のPlace IDは以下のようにして取得できます。 implementation 'com.google.maps:google-maps-services:1.0.0' val apiContext… 続きを読む
None 28 9月 2021 Google Map V3 ベータ版は非推奨!現行バージョンを使おう! Google: As of the date of this release note, the Maps SDK for Android Beta (versions 3.0.0 and 3.1.0) client library is deprecated. V3ベータ版の打ち切りがアナウンスさ… 続きを読む
None 13 9月 2021 Android Studio Bumblebeeの新規プロジェクトにKotlin版のRealmを追加する Android Studioがマルハナバチになってライブラリの追加で迷いました。。。プロジェクトのbuild.gradleがほぼ空になっていて、代わりにsettings.gradleに書くようになっています。 データベースライブラリのrealm-kotlinを追加してみます。ちなみに、Java版とは… 続きを読む
None 26 7月 2021 画像とテキストを共有するには (ShareActionProvider編) Androidには使用頻度の高いサービスのアイコンを表示してくれるShareActionProviderと言うものがあります。これはアクションバーを使うので、.NoActionBarなテーマを使っている場合は、ツールバーを設定すれば使えるようになります。 menu/toolbar_share.xml… 続きを読む
None 5 7月 2021 ボタン連打による二重起動を防ぐ (Prevent starting twice) Activity編 どちらかのインテントフラグで防げます。 .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP) .setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_F… 続きを読む
None 20 6月 2021 画像とテキストを共有するには (ACTION_SEND編) AndroidでSNS機能の共有シートを表示させるのは簡単ですが、プレビュー機能(Android 10以上)が少し分かりにくいです。 画像とテキストを共有する 画像とテキストの両方のプレビューはできないので、画像だけをプレビューさせます。 Intent(Intent.ACTION_SEND) .pu… 続きを読む
None 20 6月 2021 Viewをグルグル回転させて初期角度で止めるには (How to reset angle rotation to default?) Viewを回転させるにはいくつか方法がありますが、今回はリピート設定のないViewPropertyAnimatorを使います。回転を始めて、ストップした時にすぐに止めないで、終了リスナーを上書きしてリピートされないようにしておきます。 通信中にNow Loadingで回転させるボタンを作ってみました… 続きを読む
None 11 1月 2021 Viewの高さを変えて開閉アニメーションさせる (Expand/Collapse Animation) ViewPropertyAnimator Viewのanimate()で生成してチェーンで書けるお手軽な方法ですが、bottomやheightプロパティに対応していません。移動や透明度、スケール率なら簡潔に書けるので大変便利です。内部ではValueAnimatorが使われています。これと似た書き方が… 続きを読む