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