シリアル化(serialize)とは「複数のデータをすべて数珠つなぎに並べて、一つのデータにする」ことです。
なぜ、シリアル化が必要なのか?!
役割について、簡単にまとめました。
RetrofitはRESTに準拠したWeb APIです。
このRetrofitとMoshiを使って、Webサービスへアクセスする方法を、まとめました。
サンプルはAndroidのコードラボと同じ内容です。私はコードラボが理解し難かったので、不要な部分をそぎ落として、Retrofitに的を絞って説明しています。
※環境:Android Studio Ladybug Feature Drop | 2024.2.2
Kotlin 2.0.0
Moshi 1.15.2
Retrofit2 2.11.0
Coil 3.1.0
続きを読む
MoshiでJSONをパース(JSONの記述⇔データクラスのオブジェクト)する場合に、一般クラスは未対応です。
例えば、データクラス以外の、ユーザ定義のクラスはパース出来ません。
対応させるためには、そのクラスのカスタムJsonAdapterを作成します。
そして、相互変換する方法をプログラマー側で定義します。
カスタムJsonAdapterの作成方法をまとめます。
※環境:Android Studio Ladybug Feature Drop | 2024.2.2
Kotlin 2.0.0
Moshi 1.15.2
続きを読む
Kotlinで利用可能なJSONライブラリーには「GSON, Jackson, Moshi, Kotlin serializationなど」があります。
始めの3つはJavaがベースです。その中のMoshiは、拡張機能によりKotlinとの親和性が高められています。
Kotlin serializationはJSON以外(Protobuf, CBOR, Hocon, Properties )のフォーマットも扱えます。フォーマットを扱うというよりも、シリアル化の機能を重視したライブラリーのようです。
プログラム間でデータを受け渡す際に用いるのであれば、Kotlin serializationが最も適しているかも知れません。
Kotlin serializationに興味を引かれますが、後の機会に置いといて…
今回は、Moshiについて、まとめます。
※環境:Android Studio Ladybug Feature Drop | 2024.2.2
Kotlin 2.0.0
Moshi 1.15.2
続きを読む
Data BindingはViewシステムを用いている場合に、Viewの表示と状態(データ)を結合する仕組みです。
結合とは「状態の変化に連動して、表示を更新する」ことです。
Googleは「利点がある」と述べています。しかし、私は利点に感じないので、積極的な利用をしていません。
Googleが提供するAndroidアプリのサンプルで頻繁に登場し、よく見かけます。
ですので、ここに備忘録として、まとめます。
※環境:Android Studio Ladybug Feature Drop | 2024.2.2
Kotlin 2.0.0
(Viewシステムのプロジェクトは1.9.24が選ばれる)
(Composeのプロジェクトは2.0.0が選ばれる)
続きを読む