Wie serialisiert man in Android einen veränderbaren Zustandsdatentyp mit Gson?
Posted: 11 Jan 2025, 09:28
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.
Ich habe versucht, es mit Gson zu serialisieren und es dann in einer Datei wie dieser zu speichern.
Bei diesem Versuch stürzt das System ab. Hier ist, was die Log-Katze sagt.
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.
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("")
)
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)
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