既存のRecyclerViewと、LazyColumn, LazyRowを比較しつつ、解説してもらいました。 Jetpack Composeに、既存のRecyclerViewに相当するComposable関数はありますか? RecyclerViewと、LazyColumn/LazyRowの機能を比較してください。 LazyPagingItemsの概要と…
Composable関数が未提供の既存ViewをComposeで使用する方法です。 WebViewほか、MapViewなどはまだ未提供なため、以下で教わった方法が必要らしいです。 Jetpack ComposeでWebViewに対応する機能を持つComposable関数があれば教えてください。 AndroidViewシ…
単に画像を表示するにしてもいろいろなやり方があるのですね。 キャラクターの上下左右向きの画像を一つの画像(スプライトシートという)として持ち、描画時に向きに対応した部分のみ切り抜いて表示するという手法を教えてもらいました。 Canvasを8x8のマスに…
数学が分からなくても、目的とするオブジェクトの座標変換はできるのですね。 これまで全然知らなかった世界です。 2Dのゲームプログラミングで有用な数学について教えてください。 AndroidのJetpack Composeを用いてアプリ開発をしています。挙げていただい…
ChatGPTに聞いてみたところ、以下です。 加速度センサー (Accelerometer): デバイスの加速度を測定し、デバイスがどのように動いているかを知ることができます。 ジャイロスコープ (Gyroscope): デバイスの回転を測定します。 磁気センサー (Magnetic Field …
高校の時、物理の偏差値30台でしたが、ChatGPTのおかげで、センサーの利用は出来そうです。 かなり嬉しい。センサーの他の用途についても、いろいろ聞いてみたいです。 あと、会話の途中まで誤解していましたが、サンプルの例では、Androidの加速度センサー…
Jetpack Composeの機能ではない、従来の機能であるセンサーを用いる場合、Composable関数の階層下からも、ApplicationContextにアクセスする必要が出て来ます。そこで、CompositionLocalで学んだ方法を通してアクセスできる、フレームワークによって定義され…
いやあ・・ほんまに、複数画面の行き来などの処理も含めて、全部、Kotlinのコードだけを用いて簡略化できるのですね。本当にびっくりしました。 Jetpack Composeで、複数画面を行き来するような処理を書く場合、どのようにするのですか? NavHostスコープのc…
Jetpack Conposeでいつも目にするModifierの意義と役割が分からなかったので聞いてみました。 マージン、パディング、イベントハンドラなど、あらゆる描画要素に共通する値をパッケージしたオブジェクトのようです。 チェーンの仕組みによって、値を上書きで…
Composable関数内のmutableState()でラップしたデータクラス等で定義したそのオブジェクトを、データを変更したオブジェクトで丸ごと置き換えることで、再描画に関連するComposable関数の更新処理をトリガーさせるという手順を取るようです。 ゲームループは…
Jetpack ComposeのComposable関数で描画要素を定義する場合、その要素が参照する'State'のオブジェクトの値の変更は常にフレームワークによって検出されるよう構成され、値の変更に影響する部分のみが効率的に再描画されるようです。 昔、ゲームプログラミン…
Jetpack Composeで作った2次元ゲームの例を挙げてもらいました。 こんなにシンプルにできるんだと、びっくりしました。 AndroidのKotlinとJetpack Composeで、2次元でキャラクターを操作するゲームを作りたいです。 サウンドは後回しで良いです。キャラクタ…
本を読んでいて分からなかった箇所を、ChatGPTに聞きました。Jetpack Compose以前の方法との比較など、色んな選択肢の意義や比較をすぐに教えてもらえるので、すごく助かります。 Jetpack ComposeのCompositionLocalが何をしているのか分かりません。 LocalT…
画面上のキャラクターがタップで動いたりするような、簡単なグラフィックスのゲームを作るには、Jetpack Composeが良さそうです。 また、それに限らず、UIをXMLではなくKotlinのコードで作成出来るというのは、僕にとってはすごく心惹かれます。 早速、本を…
Androidアプリの公開プロセスで、アプリ自体の同一性がどう保証されているのか気になったので、ChatGPTに聞いてみました。 アプリをプレイストアに公開するというのは、どういうことなのでしょうか? どういった準備が必要になるのでしょうか? アプリのアイ…
ネットワークから100MB程度のデータを最初だけダウンロードしたい場合、どういう処理が良いか。日本語で検索するとかなり古いAndroidフレームワークで利用されていた方法だったり、簡潔なKotlinの非同期処理を用いていないものだったりするので、お手上げで…
本職で何年かプログラマーをしていましたが、その頃に比べても、非同期処理を普通に用いるAndroidプログラミングはすごく難しく感じます。 ChatGPTがなかったら、ずっと悩んだままだったかもしれません。 ボタンを押した後、時間がかかる処理をするときは、c…
(Jetpack Composeを用いない、古い手法になります。別記事 で少しだけ、Jetpack Composeでのコード例があります。) また、ChatGPTに聞いてみました。 Androidアプリを、KotlinとJetpackを用いて開発しています。タブを自由に増減できるページを作りたいので…
気になったので、ChatGPTに聞いてみました。ORMの利用だけでなく、テストの簡素化も目的だったのですね。 かなり使えそうです。 Roomライブラリの開発経緯や目的について、教えてください。 テストの簡素化はどのように実現されているのですか? Roomライブ…
Roomライブラリの標準機能を利用して、データベースの内容変更を検出する方法ついて、ChatGPTに聞いてみました。 Roomによるデータベースの操作方法について教えてください。 データ監視方法と非同期処理についても教えてください。 LiveDataを用いるデータ…
(Jetpack Compose以前の古い手法になります。詳しくは別記事参照。) JetpackでのFragment間の移動と従来の移動との違いが整理しきれていなかったので、ChatGPTに聞いてみました。 Androidアプリをkotlinで開発しています。次のコードがしていることを教えて…
プロパティファイルよりは、リソースファイルや、SharedPreferencesを通してアクセスするxmlファイルに持たせることが標準だったようです。 全く知らなかった。 Kotlinを用いたAndroidのプログラミングで、設定値を保持する標準的な方法を教えてください。 p…
(Jetpack Compose以前の手法です。Jetpack Compose内でWebViewを使用するためには、AndroidView関数を経由して、WebViewを生成する必要があります。詳細は別記事参照。) また、ChatGPTに聞いてみました。 WebViewでハイライトをするには、Javascriptを用いて…
(Jetpack Composeでは、TextFieldを用います。別記事参照) ChatGPTに聞いてみました。 TextViewまたはEditTextのSpannableStringオブジェクトの値を変更することでハイライトが付加出来るようです。 編集に関しては、表示させたメニューで色を指定するタイミ…