注意: 对于大多数后台处理用例,我们建议使用 WorkManager 作为推荐的解决方案。请参阅后台处理指南,了解哪种解决方案最适合您。
在 Android 设备和 Web 服务器之间同步数据可以显著提高应用的实用性和吸引力。例如,将数据传输到 Web 服务器可作为有用的备份,而从服务器传输数据可使数据在设备离线时也能供用户使用。在某些情况下,用户可能会觉得在 Web 界面中输入和编辑数据更方便,然后将数据传输到设备上;或者他们可能想随着时间的推移收集数据,然后将其上传到中心存储区域。
虽然您可以在应用中设计自己的数据传输系统,但您应该考虑使用 Android 的同步适配器框架。此框架有助于管理和自动化数据传输,并协调不同应用之间的同步操作。当您使用此框架时,您可以利用一些自行设计的数据传输方案所不具备的功能:
- 插件架构
- 允许您以可调用组件的形式向系统中添加数据传输代码。
- 自动化执行
- 允许您根据各种条件(包括数据变化、经过的时间或一天中的特定时间)自动执行数据传输。此外,系统会将无法运行的传输添加到队列中,并在可能时运行它们。
- 自动化网络检查
- 系统仅在设备具有网络连接时运行您的数据传输。
- 改进的电池性能
- 允许您将应用的所有数据传输任务集中到一个地方,以便它们同时运行。您的数据传输也会与其他应用的数据传输协同调度。这些因素减少了系统必须开启网络的次数,从而降低了电池使用量。
- 账户管理和身份验证
- 如果您的应用需要用户凭据或服务器登录,您可以选择将账户管理和身份验证集成到数据传输中。
本课程介绍如何创建同步适配器以及封装它的绑定 Service
,如何提供其他有助于将同步适配器插入框架的组件,以及如何以各种方式运行同步适配器。
注意: 同步适配器是异步运行的,因此您应该期望它们定期高效地传输数据,但不是即时传输。如果您需要进行实时数据传输,应在 AsyncTask
或 IntentService
中进行。
课程
- 创建 stub 身份验证器
- 了解如何添加同步适配器框架期望成为您应用一部分的账户处理组件。本课程将向您展示如何为了简化而创建 stub 身份验证组件。
- 创建 stub 内容提供程序
- 了解如何添加同步适配器框架期望成为您应用一部分的内容提供程序组件。本课程假设您的应用不使用内容提供程序,因此将向您展示如何添加 stub 组件。如果您的应用中已有内容提供程序,则可以跳过本课程。
- 创建同步适配器
- 了解如何将您的数据传输代码封装在同步适配器框架可以自动运行的组件中。
- 运行同步适配器
- 了解如何使用同步适配器框架触发和调度数据传输。