使用同步适配器传输数据

注意:对于大多数后台处理用例,我们建议使用 WorkManager 作为解决方案。请参考后台处理指南,了解哪一种解决方案最适合您。

在 Android 设备和网络服务器之间同步数据,可以显著提高您的应用对于用户的实用性和吸引力。例如,将数据上传到网络服务器可以创建有用的备份,而从服务器下载数据则可让用户在设备离线时仍可使用数据。在某些情况下,用户可能会发现在网页界面中输入和修改数据,然后在设备上使用这些数据会更加轻松;或者,他们可能会希望随着时间推移慢慢收集数据,然后将其上传到中央存储区。

虽然您可以设计自己的系统用于在应用中执行数据传输,但您也可以考虑使用 Android 的同步适配器框架。此框架可以帮助您管理数据传输和实现数据传输的自动化,还可以协调不同应用之间的同步操作。如果使用此框架,您可以利用一些您自己设计的数据传输方案所不具备的功能:

插件架构
允许您将数据传输代码作为可调用组件添加到系统中。
自动执行
允许您设置根据各种条件(包括数据更改、在一定时间后或一天中的具体时刻)自动执行数据传输。此外,系统还会将无法运行的传输添加到队列中,并在可能的情况下运行它们。
自动检查网络
系统仅在设备具有网络连接时才运行数据传输。
提高电池使用效率
可让您将应用的所有数据传输任务集中到一个地方,以便于它们同时运行。您的数据传输还会和其他应用的数据传输一起安排。这些因素可减少系统需要开启网络的次数,从而减少对电池电量的消耗。
帐号管理和身份验证
如果您的应用要求提供用户凭据或服务器登录信息,您可以选择性地将帐号管理和身份验证集成到数据传输中。

本课程向您介绍了以下内容:如何创建同步适配器及封装它的绑定 Service,如何提供可帮助您将同步适配器插入框架的其他组件,以及如何以各种方式运行同步适配器。

注意:同步适配器是异步运行的,因此您应该期望它们能够定期、高效地传输数据,但不是即时地传输数据。如果您需要实时传输数据,应通过 AsyncTaskIntentService 来实现。

课程

创建存根身份验证程序
了解如何添加同步适配器框架要求您的应用具备的帐号处理组件。为简单起见,本课程介绍了如何创建存根身份验证组件。
创建存根内容提供器
了解如何添加同步适配器框架要求您的应用具备的内容提供器组件。本课程假定您的应用不使用内容提供器,因此介绍了如何添加存根组件。如果您的应用中已经有内容提供器,您可以跳过这一课。
创建同步适配器
了解如何将数据传输代码封装在同步适配器框架能够自动运行的组件中。
运行同步适配器
了解如何使用同步适配器框架触发和调度数据传输。