Androidアプリ開発の覚書き

Androidアプリ開発を、Kotlin, Jetpack Composeで行っています。気になったことをChatGPTに聞いて記事にしています。

プロジェクトの設定/リソース管理

ログの取り方;デバッグビルド vs. リリースビルド

android.util.Logを用います。 Android, Kotlinで開発を行う場合のログの取り方の標準的方法を教えてください。 ログレベルの使い分けの指針、及び、設定ファイル等を用いたログレベル設定について、標準的方法があれば教えてください。 buildConfigFieldと…

設定値の保存:SharedPreferencesよりはDataStoreを用いる

2020年に導入されたというDataStoreオブジェクトを用いて、設定値を保存する方法を聞きました。 SharedPreferencesを改善するために導入されたものだそうですが、キー・値のペアを保持する際、キーに値の型情報を持たせるという手法を用いていたり、非同期処…

Androidアプリ全体のデザイン:Scaffold

メニューの作成も、各画面への遷移も、Jetpack Composeを使うとかなり楽になりますね。 Scaffoldを用いたメニューのデザイン、画面の遷移、Androidデバイスによるメモリ管理に関わらず値を保持する方法など、教えてください。 sharedPreferencesを用いたデー…

Androidアプリをマルチモジュール化する

Jetpack Composeを用いるアプリが肥大化すると、UI確認のためにビルドが必要なことがネックになり、マルチモジュール化が必要になるそうです。 後々苦しまないよう、早めにChatGPTで聞いてみました。 マルチモジュール化とは何ですか? どうやって実現するの…

Androidアプリの開発手法の変遷について

ChatGPTに教えてもらいました。 僕は、Androidアプリ開発における、ViewModel以前を知りません。 Androidアプリの開発手法の変遷について教えてください。 このような変遷における、ViewModelの意義を教えてください。 データモデルとUIの間にViewModelを置…

assetsやres/rawフォルダの音声の再生する

ゲームプログラミングなどで、プログラムで音声の再生や停止、切り替えをする方法が知りたくて、ChatGPTに聞きました。 音声を再生するにはどうするのですか? MediaPlayerオブジェクトとDisposableEffectについて、もう少し詳しく教えてください。 MediaPla…

センサーを利用する前準備

Jetpack Composeの機能ではない、従来の機能であるセンサーを用いる場合、Composable関数の階層下からも、ApplicationContextにアクセスする必要が出て来ます。そこで、CompositionLocalで学んだ方法を通してアクセスできる、フレームワークによって定義され…

設定値は、propertiesファイルでなくresouresに持たせる

プロパティファイルよりは、リソースファイルや、SharedPreferencesを通してアクセスするxmlファイルに持たせることが標準だったようです。 全く知らなかった。 Kotlinを用いたAndroidのプログラミングで、設定値を保持する標準的な方法を教えてください。 p…