【发布时间】:2015-08-31 12:50:59
【问题描述】:
我正在尝试找出为我的 Android 应用程序保留数据的最佳方式。目前的情况是在一个活动(UserItem)中创建对象和在另一个活动(SuggestionItem)中创建对象。我目前仍在考虑结构,但它们可能是同一个父类(Item)的子类,具有一些共同的属性,如name 和location。
SuggestionItem 当前与包含其大部分数据的对象具有组合关系。该对象的类型为 Suggestion,它有几个子类,例如 RestaurantSuggestion 和 HotelSuggestion。
我想要做的是有第三个活动来显示所有已创建的 SuggestionItems 和 UserItems 的视图。我正在考虑将它们存储在 SQLite 数据库中,因为它们应该在应用程序关闭/重新启动之间保存。将来可能还会有某种导出/导入,但我可以只考虑暂时保存这些对象并稍后重新设计数据库。
我的问题是,我应该为类和与其字段匹配的列创建一个包含表的架构,还是应该序列化这些对象并将序列化版本存储在数据库中?它们相当简单;每个类可能大约有 10 个原始字段和字符串字段(例如 url、pricePerNight、imageUrl)。唯一的非原始字段是 LatLng 字段,它可以变成两个用于纬度和经度的双字段。我知道 Android 的两种序列化方法:gson 和实现 Serializable。我不确定哪个更合适。
有经验的大神可以给点建议吗?对不起,文字墙。
【问题讨论】:
标签: java android sqlite serialization