iPhone 应用程序和 Web 应用程序之间的双向同步

2023-12-24

我有一个依赖于 MySQL 数据库的 Web 应用程序,我正在考虑为其构建一个 iPhone 应用程序。该应用程序将允许用户在网络应用程序上浏览/插入/更新/删除其帐户的数据。

最简单的方法是将 iPhone 应用程序简单地构建为 Web 应用程序的界面,即每个操作都需要连接到网络。不过,我希望 iPhone 应用程序有自己的“离线”版本的数据库。这不仅允许用户离线工作,而且还可以提供更好的体验,因为一切都在本地意味着应用程序更快、响应更灵敏。

我会通过使用时间戳并保留最新版本来处理冲突(我已经使用软删除,即当用户删除记录时我只需设置一个标志),但我还没有完全弄清楚如何处理插入。事实上,如果用户在离线(iPhone 应用程序)和在线(Web 应用程序)数据库上插入新项目,就会出现主键冲突(我的所有表都有一个以自动增量作为主键的 INTEGER 字段)。我该如何处理这个问题?

我正在考虑有一个两列主键,一个是自动递增整数,第二个是特定于“设备”的。这样,通过 Web 应用程序添加的新记录将具有 ID 1-web、2-web 等,而通过 iPhone 应用程序创建的记录将具有 ID 1-iphone、2-iphone 等...这将允许合并这两个记录数据库而不会发生冲突。你觉得这个想法怎么样?


迄今为止最简单的解决方案是使用 UUID。

一个不太优雅的解决方案是让 iPhone id 占据密钥空间的定义子集。例如,使用 64 位密钥,可以为每部 iPhone 分配最高 20 位的特定模式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPhone 应用程序和 Web 应用程序之间的双向同步 的相关文章

  • 在 iPad 上显示 PDF 文档 - 颜色问题

    我为 iPad 构建了一个 PDF 阅读器 在将预览中的文档与模拟器和设备进行并排比较时 我注意到一些颜色问题 最好的形容就是颜色变得更加浓郁 近距离使用的相似颜色之间的任何差异都会变得更加明显 而所有颜色总体上看起来都更亮 尽管大肆宣传将
  • 在 Android 中获取联系方式需要花费大量时间?

    您好 目前正在做一个与联系人相关的项目 我正在从联系人中获取详细信息 电子邮件 电话号码和联系人姓名 效果很好 但问题是获取联系方式需要很长时间 超过 1000 个联系人 包括从社交网站同步的联系人 这样我就放了一个Asynchronous
  • 电话 GAP 会话存储

    我使用手机 GAP 开发 iPhone 应用程序 在我的应用程序中 我们使用外部数据库 用户使用 Web 服务登录 登录后我需要存储用户 ID 我如何使用手机 GAP 存储用户 ID 我可以使用手机 GAP会话存储可以吗 哪位知道的请帮忙
  • 如何在 iOS (safari) 中获取 mailto 链接以打开 Outlook 应用程序?

    我注意到 在使用 Outlook 应用程序且未配置本机邮件应用程序的 iPhone 用户上 当他们单击 mailto 链接时 系统会提示他们在 iOS 中创建新的电子邮件帐户 而不是打开 Outlook 应用程序 是否可以将 Outlook
  • 如何在 iOS 上捕获的视频中添加水印[重复]

    这个问题在这里已经有答案了 我想知道是否有人可以告诉我如何实现这一目标 如果一直在考虑几个解决方案 从捕获的视频创建单独的图像 然后将它们合并到每个图像中 然后创建一个新的 AVAsset 听起来有点复杂 您不觉得吗 合并2个视频 一个是透
  • 连接所有 PostgreSQL 表并创建 Python 字典

    我需要加入allPostgreSQL 表并将它们转换为 Python 字典 数据库中有72张表 总列数大于1600 我编写了一个简单的 Python 脚本 该脚本连接多个表 但由于以下原因无法连接所有表内存错误 https gist git
  • 将 NSString 转换为 NSInteger?

    我想转换string data to NSInteger 如果字符串是人类可读的数字表示 您可以这样做 NSInteger myInt myString intValue
  • 如何在 UIWebView 中启用放大/缩小选项?

    如何在 UIWebView 中启用放大 缩小选项 这是 UIWebView 的默认功能 用你的手指
  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • 有没有办法在iOS模拟器上使用苹果的Touch ID(指纹扫描仪)?

    我正在开发一个需要 Touch ID 身份验证的应用程序 那么有什么方法可以在模拟器中使用 Touch ID 指纹扫描仪 另外 请分享一些使用 LocalAuthentication 框架的示例代码 XCODE 7 beta支持在iPhon
  • 使用显式创建表语句与 select into 创建表

    使用显式创建表语句和加载数据与选择数据之间是否存在性能差异 此示例仅显示 2 列 但问题是针对使用非常大的表 下面的示例也使用临时表 尽管我也想知道使用常规表的效果 我认为无论表格类型如何 它们都是相同的 临时表场景 Explicitly
  • 如何检测按下的返回键并使用 UIKeyInput 协议对其进行响应?

    我有一个表视图 显示我希望用户能够编辑的列表 为了节省空间 并且让我的视图更容易看清 我创建了一个符合 UIKeyInput 协议的自定义工具栏 这样我就可以拉起键盘而无需使用任何文本字段 到目前为止 一切都很好 我有一个可变字符串正在处理
  • Google Cardboard - Cardboard VR 套件有 iPhone / iOS 入门项目吗?

    我正在看Google Cardboard 套件 一种廉价的 VR 设置 https developers google com cardboard 使用 Android 设备玩 3d VR 游戏 我看到他们有一个 Android 演示项目
  • 在 iPhone 上下载、保存和播放 mp3

    我想从某个网站下载 mp3 文件 将其保存到我的 CoreData 模型 AudioMp3 中 然后播放 下面的函数可以工作 但首先 效率低下 因为它必须首先将 mp3 保存到文件 其次 它在接下来的调用次数中重复播放相同的 mp3 我认为
  • 在python中将数据库表写入文件的最快方法

    我正在尝试从数据库中提取大量数据并将其写入 csv 文件 我正在尝试找出最快的方法来做到这一点 我发现在 fetchall 的结果上运行 writerows 比下面的代码慢 40 with open filename a as f writ
  • iPhone 和 iPad 滚动结束

    我正在制作一些无限滚动的 jQuery 跨浏览器画廊 我工作得很好 但在 iPhone 上 我想也在 iPad 上 而不是相等的值 我有一些不成比例的值不匹配 window scrollTop document height window
  • admob ios7错误音频框架

    我正在将 admob SDK 当前的 集成到我的上一个应用程序 IOS7 Xcode5 中 并且出现了一个新错误 在新项目上也是如此 我想我错过了一些东西 但我多次重新启动该过程 但错误仍然存 在 Undefined symbols for
  • 索引在 NOT IN 或 <> 子句中起作用吗?

    我读过 至少 Oracle 数据库中的普通索引基本上是 B 树结构 因此存储处理适当根节点的记录 小于 根的记录被迭代地存储在树的左侧部分 而 大于 根的记录被存储在右侧部分 正是这种存储方法有助于通过树遍历实现更快的扫描 因为深度和广度都
  • 播放循环声音的最简单方法是什么?

    在 iPhone 应用程序中播放循环声音的最简单方法是什么 可能最简单的解决方案是使用AVA音频播放器 http developer apple com library ios DOCUMENTATION AVFoundation Refe
  • 使用自定义格式将字符串转换为 NSDate [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 到 NSDate https stackoverflow com questions 1353081 nsstring to nsdate iPhone 如何将 yyyyMMddTh

随机推荐