用于持久化/加载/删除对象的 Android 模型

Posted

技术标签:

【中文标题】用于持久化/加载/删除对象的 Android 模型【英文标题】:Android model for persisting / loading / deleting objects 【发布时间】:2011-07-24 20:42:59 【问题描述】:

我一直在利用空闲时间为 android 制作应用程序。我正在寻找你关于如何存储我拥有的一些数据对象的建议。

今天,对象存储在共享首选项中,但随着越来越多的对象添加了更多属性,我不想继续填写我的共享首选项。

简而言之,今天我想要共享首选项,但以后我可能会选择存储在 SQLite 数据库中。

我四处寻找基于 ORM 的 Android 项目,并找到了一些。但是,它们中的大多数都与数据库相关联,而不是与共享首选项相关联。我什至不确定有些是否可以定制到足以添加我自己的持久化器。

我可以自己去写我自己的持久化方案。事实上,这就是我迄今为止所做的,但它似乎很基础,而且没有那么强大。

你有什么想法吗?

【问题讨论】:

【参考方案1】:

首先,如果您要使用数据库 (SQLite),那么您应该考虑使用 Android 已经提供的 DB 控制器 API。 http://developer.android.com/guide/topics/data/data-storage.html#db 现在您不必使用它,并且可以自己绑定到数据库。不建议这样做,因为您现在正在经历...如何发展和成长。

控制器不关心您从哪里获取数据,它可能是数据库或网络服务等,因此您可以更改获取数据的位置,而无需更改方式数据被传递和处理。

抱歉,我目前不在桌面。底线是,SharedPreferences 确实很强大,但它们只是一个工具,应该按预期使用......用于存储简单的键/值数据。

【讨论】:

以上是关于用于持久化/加载/删除对象的 Android 模型的主要内容,如果未能解决你的问题,请参考以下文章

核心数据重载数据库

处理核心数据的问题

Hibernate学习第一课

Android数据持久化之SharedPreference

持久和瞬态对象 - 对术语感到困惑

6_1 持久化模型与再次加载_探讨_import_meta_graph方式加载持久化模型会存在的变量管理命名混淆的问题