Android

Android

[Android] layout_XXX系のDatabindingのやり方

例えば app:laout_constraintVertical_bias こういうlayout_XXXをDatabindingする時はBindingAdapterを使わないとできない。layout_XXXは親ViewGrou...
Android

[Android]レイアウト前のViewの高さ幅を取得する方法

view.measure( View.MeasureSpec.makeMeasureSpec(0, ViewMeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasur...
Android

[Kotlin]Fragmentの背景を透過させる方法

3つの手法がある。 Fragmentの中にFragmentを入れて透過させる(親子Fragmentの関係) FirstFragmentの上にSecondFragmentをのっけて、SecondFragmentの背景が透過して、...
Android

[Kotlin]Flow/StateFlow/SharedFlowの解説

Flow まず普通のFlowから。 val flow = flow { Log.d("###test", "emit") emit(1) ...
Android

[Android] 描画パフォーマンス改善(目指せ60FPS)

こちらを参考。 GPUオーバードロー領域を表示/非表示 adb shell setprop debug.hwui.overdraw show adb shell setprop debug.hwui.overdraw ...
Android

Activityのタスクとは?

タスクとは 複数のActivityが連携して一つの仕事をこなす単位のこと。 例えばギャラリーアプリを起動して写真を選択し編集をタップ。編集は別のアプリを選択して別アプリを起動。ここまでが一つのタスク。 Androidスマ...
Android

AndroidでSqliteを実行した時にcatchするExceptionはどれ?

結論SQLiteExceptionとIllegalStateExceptionをcatchしておけば大丈夫そう。SQLiteExceptionは継承先見ればどういうときに発生するのかなんとなくわかると思う。 IllegalStateExc...
Android

[Kotlin] runBlockingTestとは

runBlockingTestはCoroutineを起動するlaunchやasync、delay関数を即時実行する効果がある。 ただ、テスト対象でCoroutineを起動しているのか、起動していないのかで対応が分かれる。 ou...
Android

[Couroutine]Jobをキャンセルするとどのタイミングで処理は止まる?

kotlinx.coroutines からの suspend 関数(withContext や delay など)はすべてキャンセルできます。 ここにヒントがあって、suspend関数は全て止まるのではなくwithConte...
Android

[Android]LiveDataのActive/InActiveの挙動

LiveDataの挙動 Home画面にいって(アプリが裏に行く)、アプリを起動してもLiveDataは発火しない。Home画面でアプリが裏にいる時に、データに更新があって再度アプリが起動すると発火する。 EventObserv...