【问题标题】:Android saving nested Objects structureAndroid保存嵌套对象结构
【发布时间】:2015-01-06 23:10:05
【问题描述】:

我正在为 android 开发一个应用程序,并且我已经从网站上解析了数据。我需要将整个“rozvrhy”列表及其包含的所有内容(见下文)保存在手机中,以便下次用户启动应用程序时加载它:

我需要保存的数据结构如下:

List<Rozvrh> rozvrhy = new ArrayList<>();
Map<String, Multimap<String, Hodina>> rozvrh = new HashMap<>();

Rozvrh 看起来像这样:

public class Rozvrh {

String trida;
Map<String, Multimap<String, Hodina>> rozvrh;
List<String> dny;
List<String> hodiny;
}

Hodina 类看起来像这样:

public class Hodina {

String predmet;
String zkPredmet;
String vyucujici;
String zkVyucujici;
String ucebna;
String zkUcebna;
String den;
String hod;
}

我尝试使用 Gson,但它会删除 Map 中的实际 Hodina 对象。有什么简单的解决方案吗?还是使用 SQLite 更好? - 但是我对数据库没有经验...:/

感谢您提供任何可能的提示!

【问题讨论】:

标签: android object save sharedpreferences gson


【解决方案1】:
I need to save the whole "rozvrhy" List with everything it contains (see below) in the phone so it can be loaded next time user starts the app:

既然您已经说过,我建议您将 SQLite 用于您的应用程序。您可以解析响应并将其插入 SQLite 数据库。

因此,您可以利用数据库的优势来查询所需的数据,这将是最好的解决方案。

Android SQLite 实现起来太简单了。你可以从这个开始。 http://developer.android.com/training/basics/data-storage/databases.html

【讨论】:

  • 好的,我要去学习一下,谢谢你的建议。在解析期间填充该数据库是否更好,或者我可以利用我已有的优势并以某种方式从我的结构中填充它?
  • @Hokyjack 数据解析和插入数据库可以根据您的要求同时或稍后发生。但它应该发生在不同的线程中。
猜你喜欢
  • 2021-07-26
  • 2018-10-07
  • 2022-08-03
  • 2012-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-05
相关资源
最近更新 更多