与 sqlite 中的 JSONArray 同步联系人
Sync contact with a JSONArray in sqlite
我以前的联系人在 SQLite 数据库中有一个 JSONArray,
现在我想监听添加、删除、更新联系人并从新联系人制作 JSONObject 并将它们推送到我的 JSONArray,
有什么办法吗?
谢谢
在 SQLite 数据库中没有数据类型调用 "JSONArray" 或 "JSONObject"。
参考:https://www.sqlite.org/datatype3.html
因此,首先,您应该创建一个数据库 table 来存储您在 JSON 数组中定义的数据,例如,如果您想要保存您应该保存的用户联系人列表像这样设计 table:
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
Mobile int(20)
);
然后将数组分解为对象,逐字段保存到数据库。
注意!!不要直接将JSON数组作为long long String保存到数据库的字段中,因为这样非常非常懒惰,而且使用数据库没有意义。
在Android中,有一些有用的库可以帮助您完成这项工作。尝试学习在 java 编程中使用注解:
Gson - 帮助您将 JSON 转换为 Java 对象。 https://sites.google.com/site/gson/gson-user-guide
Ormlite - 帮助您管理、编辑和更新 Android 中的数据库。
http://ormlite.com/sqlite_java_android_orm.shtml
我以前的联系人在 SQLite 数据库中有一个 JSONArray, 现在我想监听添加、删除、更新联系人并从新联系人制作 JSONObject 并将它们推送到我的 JSONArray,
有什么办法吗?
谢谢
在 SQLite 数据库中没有数据类型调用 "JSONArray" 或 "JSONObject"。 参考:https://www.sqlite.org/datatype3.html
因此,首先,您应该创建一个数据库 table 来存储您在 JSON 数组中定义的数据,例如,如果您想要保存您应该保存的用户联系人列表像这样设计 table:
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
Mobile int(20)
);
然后将数组分解为对象,逐字段保存到数据库。
注意!!不要直接将JSON数组作为long long String保存到数据库的字段中,因为这样非常非常懒惰,而且使用数据库没有意义。
在Android中,有一些有用的库可以帮助您完成这项工作。尝试学习在 java 编程中使用注解:
Gson - 帮助您将 JSON 转换为 Java 对象。 https://sites.google.com/site/gson/gson-user-guide
Ormlite - 帮助您管理、编辑和更新 Android 中的数据库。 http://ormlite.com/sqlite_java_android_orm.shtml