【发布时间】:2015-04-30 01:53:34
【问题描述】:
正如标题所说,我正在使用 SQLite 数据库创建一个 Android 应用程序。此数据库将与连接到主页的 MySQL 数据库同步(并且将来 MySQL 数据库将与 iPhone 结合使用)。
如果用户在android系统或MySQL数据库上进行了更改,它将在互联网连接可用时同步两者之间的数据。
第一个问题是 - 我如何才能知道哪个数据库包含最新版本?我不能相信时间戳,因为任何人都可以更改手机上的时间设置,对吧?
第二个问题更多的是设计问题,见附图:
目前的设计计划是使用某种 DataAccessObject 模式,这将帮助我进行数据访问,SQLiteDb 将用于在第一次向用户显示列表视图(例如)时提高速度,它会由 HttpUserDAO 在后台更新。
我觉得这不是“好的设计”——当我习惯使用 Doctrine2 时,我从 PHP 中获得了这种感觉,感觉有点不对。
在处理数据库和对象时,我还应该阅读其他模式吗? (我现在想远离 ORM 框架以便对自己进行更多控制)或者我应该只使用纯数据访问对象而不构建模型对象?有小费吗?在尝试设计应保存到数据库的“拥有对象的对象”时,我在使用数据访问对象或活动记录时遇到问题。
感谢您的帮助!
【问题讨论】:
标签: android mysql sqlite activerecord orm