24

我正计划实施一个应用程序,但我已经到了不知道什么是最佳方法的地步。

设想:

我有一个应用程序,我正在制作一个待办事项列表,我正在添加 3 个项目。我用我的手机来做这个。然后我拿起我的平板电脑,想继续添加另一个任务。然后过了一会儿,我拿起我妻子的电话,想添加 2 个新任务。

基本上,我希望有一种非常简单的方式来在线存储任务并能够将其与应用程序同步。

我看到了两种可能的方式:

  • 有一个带有数据库 + Web 服务调用的 Web 服务器。这样做的缺点是有主机付费,学习一些额外的 mysql + web service 技术。

  • 以某种方式将数据存储在云上,并允许应用程序通过登录访问存储文件的帐户。我在想 Google Drive / Dropbox 之类的东西。但我不知道如何才能只同步更新的值,而不是整个文件。因为我在想,如果我将所有任务都存储到一个文件中,那么每次更新文件时,我都需要完全上传,这不是最好的方法。

我愿意接受任何建议。你会推荐什么方法?

4

5 回答 5

16

还有 Google Drive 的“Application Data”文件夹。

https://developers.google.com/drive/android/appfolder

这样做的好处是可以使用用户的存储空间。

于 2014-12-02T21:20:33.400 回答
9

我会研究Google App EngineAmazon Web Services。它们都为您提供每月免费分配的使用量,如果您超过然后开始付费,您很可能会在一段时间内无法超过免费等级。

AWS 目前比 GAE 成熟一点,而且似乎比我研究它们时的 GAE 更容易实现

于 2013-07-16T20:36:52.713 回答
3

查看同步适配器的新培训课程:http: //developer.android.com/training/sync-adapters/index.html,了解从设备向服务器发送数据的基础知识。

在 Android 设备上,我建议您将任务存储在内容提供程序中。这有助于您跟踪自上次同步以来的更新。然后,您可以在同步期间查询提供程序,仅发送已更新的数据,并将数据存储在服务器上。

您可能应该将上次更新时间存储在设备上,这样您就可以判断服务器是否包含设备上尚未包含的数据。请记住,如果您希望所有设备同步,您还必须下载任务。

于 2013-07-16T22:25:59.730 回答
1

你可以试试谷歌的 Firebase。Firebase 为 Android 和 iOS 设备提供 SDK。而且,firebase 支持离线和同步。Firebase 还提供对象存储服务。创建 firebase 应用程序比您想象的要容易。看看这个firebase的firestore服务

于 2018-04-08T17:32:22.540 回答
0

您可以查看我们的Rethync框架(带源的免费软件)。使用它,您可以简化检测修改的任务并仅同步更新的数据。接下来,Rethync 提供客户端和服务器端 API,因此您可以创建自己的服务(并将其托管在 Web 端),或者您可以为您选择的云服务编写自己的传输(我们将在未来提供一些传输,它们现在正在开发中)。

于 2013-07-17T10:35:15.557 回答