【Retrofit】データクラス エンティティ フィールド名の付け替え @SerializedName @Json @SerialName

同じ Retrofit を使うにしても、パーサーによってアノテーション記述が変わるので、ググると無駄に時間がかかってしまう。

【Retrofit】データクラス エンティティ フィールド名の付け替え @SerializedName @Json @SerialName

 

🔄 Gson


data class User (
    @SerializedName("id")
    long userId;
    @SerializedName("fullName")
    String name;
)

👉 gson/UserGuide.md at master · google/gson hatena-bookmark

 

🔄 Moshi


@JsonClass(generateAdapter = true)
data class User (
    @Json(name = "id")
    long userId;
    @@Json(name = "fullName")
    String name;
)

👉 square/moshi: A modern JSON library for Kotlin and Java. hatena-bookmark

 

🔄 kotlinx.serialization


@Serializable
data class User (
    @SerialName("id")
    long userId;
    @SerialName("fullName")
    String name;
)

👉 kotlinx.serialization/basic-serialization.md at master · Kotlin/kotlinx.serialization hatena-bookmark

 

🔄 まとめ

初めて使うときは混乱するだろうと思います。

今となっては、JSONパーサーは、Kotlin 内蔵の kotlinx.serialization を使いたいですね。

👉 「Kotlinx Json」の登場でサードパーティJSONライブラリは不要となる。 hatena-bookmark


【Jetpack Compose】ChatGPT のようなアニメーションの @Composable AnimationText

画面がなんとなく元気になります。

Jetpack Compose AnimationText like ChatGPT



 

💬 実装

LaunchedEffect() のラムダ内は CoroutineScope なので delay() でお好みのスピードで。

JaetpackCompose は、なかなかメモリーリークしないのがいいところ。

 

💬 まとめ

アプリで公開するとすれば、最低でも WEB の UI を超えた機能を実装しなければなりません。

先人たちが公開されている UI の機能を取り込んでいきましょう。


【Android】公式エミュレーターがしれっと軽かったので Goole Play Store を入れて使う方法📱

「エミュレーターは遅い」てのは昔の話ですか。

入れて見たら十分使える感じ。

Pixel6 の SDK 33 を入れました。

 

📱 Google Play Store を入れる

エミュレーターに同梱されている設定ファイルを書き換えます。

[Show on Disk] からエミュレーターのファイル群を開きます。

[config.ini] を開きます。

2カ所編集してを保存します。


PlayStore.enabled = false

  ↓

PlayStore.enabled = true


image.sysdir.1 = system-images/android-33/google_apis/x86_64/

  ↓

image.sysdir.1 = system-images/android-33/google_apis_playstore/x86_64/

エミュレーターを再起動すると、Google Play Store がインストールされています。

 

📱 まとめ

いつのまにかエミュレーターも進化してたのですね!

Google Play Store を入れれば、さらに便利に使えます。