Android関連のことを調べてみた2022年06月23日

Android関連のことを調べてみた2022年06月23日

Dagger Hilt Constructor Injection

# 最初に
Dagger Hiltの利用でField Injectionはスッと理解できたのですが、Constructor Injectionは少し時間がかかりました。自分用にもメモとして残します。
Dagger Hiltの環境設定やプロバイダのスコープ範囲などの説明はここでは割愛して、シンプルにコンストラクタインジェクションがどのように記述されるのかだけをまとめてます。

# 多分一番シンプルなコード
わかりやすくするためにString型を提供するプロバイダのサンプルです。
“`Kotlin
@AndroidEntryPoint
class HiltStringActivity : AppCompatActivity() {

// StringImplのコンストラクタには引数があるのに何も渡していない
// コンストラクタの引数はインジェクトしろというアノテーション
@Inject
lateinit var myStringImpl: StringImpl

override fun onCreate(savedInstanceState:

元記事を表示

コルーチンとチャネル入門#9 コルーチンのテスト

ソース記事は[こちら](https://play.kotlinlang.org/hands-on/Introduction%20to%20Coroutines%20and%20Channels/09_Testing)
コルーチンを使うコードのテスト方法について議論しよう。我々の解法をテストし、並列なコルーチンの解法が、`suspend`関数の解法よりも速く、チャネルの解法が、単純な”進捗”の解法よりも速いことが確認できればと思う。
それではGitHubサービスをモックし、このサービスが与えられたタイムアウトの後、結果を返すようにしよう。
“`
リポジトリ一覧要求 – 1000ms遅延以内で、答えを返す
repo-1 – 1000 ms 遅延
repo-2 – 1200 ms 遅延
repo-3 – 800 ms 遅延
“`
その後、`suspend`関数でのシーケンシャルな解法は、4000ms前後かかるはずである。
`4000 = 1000 + (1000 + 1200 + 800)`
そして並列の解法は、2200ms前後かかるはずである。
`2200 = 1000 + max(1

元記事を表示

Jetpack Compose で dp / px / sp の相互変換はどうやるのか

“`kotlin
val pxValue = with(LocalDensity.current) { 16.dp.toPx() }

// or

val pxValue = LocalDensity.current.run { 16.dp.toPx() }
“`
[How to convert Dp to pixels in Android Jetpack Compose? – Stack Overflow](https://stackoverflow.com/questions/65921799/how-to-convert-dp-to-pixels-in-android-jetpack-compose/65921800#65921800)

Kotlin スコープ系の関数で取得できる、というのだが気持ちが悪いです。

これは、以下でも同じ。

“`kotlin
val pxValue = 16.dp.value * LocalDensity.current.density
“`

さらに、その他、それぞれの変換もみてみます。

[?【Jetpack Compose】d

元記事を表示

Nrealでの録画機能について

# 動作環境
– macOS version 12.3.1 Monterey Intel Core i9
– Unity 2020.3.8f1
– NRSDKForUnityAndroid_1.8.0.unitypackage
– NrealLight モデル:NR-9101GGL
– Xperia 5 Ⅱ SOG02SLA
# 元からある録画機能
NRSDKForUnityAndroid_1.8.0.unitypackageをUnityにインポートすると、Assets/NRSDK/Demosの中にRGBCamera-Recordが作られており、これをbuildするとNrealのカメラから動画が取れる。
アプリを実行すると、録画の設定に関するパネルが表示されるので好きな設定を選んで、赤い丸をコントローラーでクリックする。