使用同步适配器传输数据

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

在 Android 设备和 Web 服务器之间同步数据可以使您的应用对用户更有用和更具吸引力。例如,将数据传输到 Web 服务器可以进行有用的备份,而从服务器传输数据则可以在设备离线时使数据可供用户使用。在某些情况下,用户可能会发现更容易在 Web 界面中输入和编辑其数据,然后在设备上使用这些数据,或者他们可能希望随时间推移收集数据,然后将其上传到中央存储区域。

尽管您可以设计自己的系统来在应用中执行数据传输,但您应该考虑使用 Android 的同步适配器框架。此框架有助于管理和自动执行数据传输,并协调跨不同应用的同步操作。当您使用此框架时,您可以利用一些您自己设计的方案无法提供的功能。

插件架构
允许您以可调用组件的形式将数据传输代码添加到系统中。
自动执行
允许您根据各种条件自动执行数据传输,包括数据更改、经过的时间或一天中的时间。此外,系统会将无法运行的传输添加到队列中,并在可能时运行它们。
自动网络检查
系统仅在设备具有网络连接时运行您的数据传输。
改进的电池性能
允许您在一个地方集中所有应用的数据传输任务,以便它们全部同时运行。您的数据传输也与来自其他应用的数据传输一起安排。这些因素减少了系统必须打开网络的次数,从而减少了电池使用量。
帐户管理和身份验证
如果您的应用需要用户凭据或服务器登录,则可以选择将帐户管理和身份验证集成到您的数据传输中。

此类向您展示如何创建同步适配器以及包装它的绑定 Service,如何提供帮助您将同步适配器插入框架的其他组件,以及如何以各种方式运行同步适配器。

注意: 同步适配器异步运行,因此您应该预期它们定期且高效地传输数据,但不是即时传输。如果您需要执行实时数据传输,则应在 AsyncTaskIntentService 中执行。

课程

创建存根身份验证器
了解如何添加同步适配器框架期望作为应用一部分的帐户处理组件。本课程向您展示如何为简单起见创建存根身份验证组件。
创建存根内容提供程序
了解如何添加同步适配器框架期望作为应用一部分的内容提供程序组件。本课程假设您的应用未使用内容提供程序,因此它向您展示如何添加存根组件。如果您的应用中已有内容提供程序,则可以跳过本课程。
创建同步适配器
了解如何将数据传输代码封装在同步适配器框架可以自动运行的组件中。
运行同步适配器
了解如何使用同步适配器框架触发和安排数据传输。