Page 1 of 1

Wie serialisiert man in Android einen veränderbaren Zustandsdatentyp mit Gson?

Posted: 11 Jan 2025, 09:28
by Guest
Wie der Titel schon sagt, versuche ich, einen Datentyp mit veränderbarem Zustand mithilfe der Gson-Bibliothek in ein JSON-Format zu serialisieren, damit er in einer Datei gespeichert werden kann. Allerdings stürzt die Anwendung jedes Mal ab, wenn ich das tue.
Insbesondere versuche ich, einen MutableState, der in einer Datenklasse enthalten ist, in einer Datei zu speichern. Hier ist ein Beispielcode.

Code: Select all

data class Data(
text: MutableState = mutableStateOf("")
)
Ich habe versucht, es mit Gson zu serialisieren und es dann in einer Datei wie dieser zu speichern.

Code: Select all

val context = LocalContext.current
val gson = Gson
val data = Data()
var serializedData = gson.toJson(data)

var file = File(context.filesDir, "file")
file.writeText(serializedData)
Bei diesem Versuch stürzt das System ab. Hier ist, was die Log-Katze sagt.

Code: Select all

com.google.gson.JsonIOException: Interfaces can't be instantiated! Register an InstanceCreator or a TypeAdapter for this type. Interface name: androidx.compose.runtime.MutableState
Es heißt, ich benötige einen Instanzersteller oder einen Typadapter. Ich habe auch keine Ahnung, wie es umgesetzt wird oder ob sie tatsächlich funktionieren werden. Ich nehme an, das ist der Grund, warum ich hier bin. Ich bin daran interessiert, Ihre Lösungen zu hören.