android - 与服务器同步

标签 android android-syncadapter server-communication

我已经为 Android 开发了一段时间,目前正在与我的服务器同步。
快速介绍:我读过有关 Sync Adapter 的资料,也知道它的作用,但我只想知道它是否是我的最佳选择。

在我的应用程序中,用户可以点击一个按钮来通知对他来说很重要的事情。单击我想更新服务器以保留数据,并通知他的亲属。我的问题如下:用户可以多次单击该按钮来打开和关闭它,所以在这种情况下,我不想每次用户单击按钮时都打开与服务器的通信,它甚至可能不会改变状态它以前的状态。

所以我的问题是:同步适配器是否适合我,或者我应该构建自己的类来与将检查它的服务器通信,以及像 Volley 那样接收紧急\非紧急消息。 如果有人能阐明 Sync Adapter 的确切工作原理,我将不胜感激(它是否按照我所说的进行操作?)

如果有什么不清楚,我很乐意澄清。 提前致谢。

最佳答案

Android 同步框架应该非常适合您使用。如果您将同步标记为需要,系统将不会立即启动它,而是延迟一小段时间。这样,如果用户切换回按钮,您将能够注意到没有任何值发生变化。旁注:如果您使用 ContentProvider,它会在数据更改时自动通知 SyncAdapter。如果需要,您还可以手动触发同步。

同步框架所做的只是调用一个方法 (onPerformSync)。您可以随意实现它。如果您认为上次同步太接近,您可以跳过同步,或者查看数据是否真的发生了变化,或者它恢复到原始值(例如,您可以在数据库中保留“上次同步”值,然后您可以比较它到您的 onPerformSync 方法中的当前值。如果相同,则没有变化)。

好处:您将节省电池电量,因为同步框架尽可能按顺序运行多个同步,您的用户将能够在一个集中的地方(Android 设置)管理他们的帐户,禁用系统范围内的同步(想想索尼的耐力模式,在 Activity 时将每个 SyncAdapter 设置为暂停)。

关于android - 与服务器同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19452752/

相关文章:

javascript - Android 上的 JQuery.Hive(工作线程)

Android Account Sync 给我一个找不到类的错误......但它不应该

Java类,具有多种类型的Arraylist

java - 如何识别服务器的输入是InputStream还是Output流

android - 如何通过 Android Studio 对动态功能模块执行 UI 测试?

java - DatePickerDialog 将选项限制为最长一周

java - 如何将对象输入到 ArrayList <HashMap<String,Object>>

java - 如何在 onPerformSync 中实现 Yelp Api

Android:仅获取更新和删除的联系人

Java 服务器到服务器接口(interface)