使用Android Studio 3.0时如何存储json数据?
在我的Android应用程序中,我设计了以下json数据结构,json数据将在将来的节点中被读取、添加、更新和删除 我想我应该存储json数据,如何持久化json数据?是否必须将其保存为文件夹\assets下的文本文件 还有,有没有处理json数据的简单方法?我需要使用Gson图书馆吗使用Android Studio 3.0时如何存储json数据?,json,kotlin,android-studio-3.0,Json,Kotlin,Android Studio 3.0,在我的Android应用程序中,我设计了以下json数据结构,json数据将在将来的节点中被读取、添加、更新和删除 我想我应该存储json数据,如何持久化json数据?是否必须将其保存为文件夹\assets下的文本文件 还有,有没有处理json数据的简单方法?我需要使用Gson图书馆吗 { "Setting": [ { "id": "34345", "Bluetooth": { "Status": "ON" }, "WiFi":
{
"Setting": [
{
"id": "34345",
"Bluetooth": { "Status": "ON" },
"WiFi": { "Name": "MyConnect", "Status": "OFF" }
}
,
{
"id": "16454",
"Bluetooth": { "Status": "OFF" }
}
]
}
与答案相比
最简单的方法是使用SharedReferences
和Gson
在Gradle文件中添加GSON依赖项:
compile 'com.google.code.gson:gson:2.8.0'
为Kotlin调整的代码为
储存:
val prefsEditor = PreferenceManager.getDefaultSharedPreferences(this).edit()
val json = Gson().toJson(yourObject)
prefsEditor.putString("yourObject", json)
prefsEditor.commit()
要检索:
val json: String = sp.getString("yourObject", "")
val yourObject = Gson().fromJson<YourObject>(json, YourObject::class.java)
val-json:String=sp.getString(“yourObject”,“yourObject”)
val yourObject=Gson().fromJson(json,yourObject::class.java)
如果您有大量数据,请查看您的选项谢谢!当我使用SharedReferences存储json字符串时,json的字符数有限制吗?例如,json字符串的字符数不能超过256。据我所知,限制是您的数据必须适合堆。所以没有。不过,如果您的数据超过~1MB,我不会选择共享参考。但存在大于10MB的应用程序。