【问题标题】:SQLite + Serializable, SQLite + GSON, or just plain SQLite for my Android app?SQLite + Serializable、SQLite + GSON,或者只是简单的 SQLite 用于我的 Android 应用程序?
【发布时间】:2015-08-31 12:50:59
【问题描述】:

我正在尝试找出为我的 Android 应用程序保留数据的最佳方式。目前的情况是在一个活动(UserItem)中创建对象和在另一个活动(SuggestionItem)中创建对象。我目前仍在考虑结构,但它们可能是同一个父类(Item)的子类,具有一些共同的属性,如namelocation

SuggestionItem 当前与包含其大部分数据的对象具有组合关系。该对象的类型为 Suggestion,它有几个子类,例如 RestaurantSuggestion 和 HotelSuggestion。

我想要做的是有第三个活动来显示所有已创建的 SuggestionItems 和 UserItems 的视图。我正在考虑将它们存储在 SQLite 数据库中,因为它们应该在应用程序关闭/重新启动之间保存。将来可能还会有某种导出/导入,但我可以只考虑暂时保存这些对象并稍后重新设计数据库。

我的问题是,我应该为类和与其字段匹配的列创建一个包含表的架构,还是应该序列化这些对象并将序列化版本存储在数据库中?它们相当简单;每个类可能大约有 10 个原始字段和字符串字段(例如 urlpricePerNightimageUrl)。唯一的非原始字段是 LatLng 字段,它可以变成两个用于纬度和经度的双字段。我知道 Android 的两种序列化方法:gson 和实现 Serializable。我不确定哪个更合适。

有经验的大神可以给点建议吗?对不起,文字墙。

【问题讨论】:

    标签: java android sqlite serialization


    【解决方案1】:

    如果您需要按照特定条件检索项目,则序列化很好,但我建议将各个字段编码到数据库中,以便您可以轻松搜索它们。

    作为一般经验法则,对数据库中的各个字段进行编码总是更好,因为您现在无法知道将来您需要按照某些标准检索数据。

    注意:这是从我的 cmets 到问题

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      • 2015-05-05
      • 2013-03-01
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多