【Android Developers Training】 92. 序言:使用同步适配器传输数据
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好。
原文链接:http://developer.android.com/training/sync-adapters/index.html
在一台Android设备和网络服务器之间同步数据,可以让你的应用更加实用,更加吸引用户的注意。例如,将数据传输到服务器可以实现一个有用的备份,而将数据从服务器中获取可以让用户随时随地都能使用你的应用。在一些情况中,用户可能会发觉在线编辑他们的数据并将其发送到设备上,会是一件很方便的事情;或者他们有时会希望将收集的数据上传到一个统一的存储区域中。
尽管你可以设计你自己的系统来实现你应用中的数据传输,但你可以考虑一下使用Android的同步适配器框架(Android's sync adapter framework)。这个框架可以帮助管理及自动传输数据,并且协调不同应用间的同步问题。当你使用这个框架时,你可以利用它的一些特性,而这些特性可能是你自己设计的传输方案中所没有的:
插件架构(Plug-in architecture):
允许你以可调用组件的形式,将传输代码添加到系统中。
自动执行(Automated execution):
允许你可以给予不同的准则自动地执行数据传输,包括数据变更,经过的时间,传输时间等。另外,系统会把当前无法执行的传输添加到一个队列中,并且在合适的时候运行它们。
自动网络监测(Automated network checking):
系统只在有网络连接的时候才会运行数据传输。
提升电池使用效率:
允许你将所有的数据传输统一地进行批量传输,这样的话数据传输任务会在同一时间运行。你的应用的数据传输也会和其它应用的传输任务相结合,并一起传输。这样做可以减少系统连接网络的次数,进而减少电量的使用。
账户管理和授权:
如果你的应用需要用户登录,那么你可以将账户管理和授权的功能集成到你的数据传输中。
本系列课程将向你展示如何创建一个同步适配器,以及它所封装和绑定的服务(Service),如何提供其它组件来帮助你将同步适配器添加到框架中,以及如何通过不同的方法来运行同步适配器。
Note:
同步适配器是异步执行的,所以你应该在期望它可以定期地有效地但不是瞬间地传输数据时使用它。如果你想要实时地传输数据,那么你应该在中
AsyncTask或IntentService完成这一任务。
课程:
【Android Developers Training】 93. 创建一个空验证器
【Android Developers Training】 94. 创建一个空内容提供器(Content Provider)
【Android Developers Training】 95. 创建一个同步适配器
【Android Developers Training】 96. 运行一个同步适配器
样例代码:
【Android Developers Training】 92. 序言:使用同步适配器传输数据的更多相关文章
- 【Android Developers Training】 94. 创建一个空内容提供器(Content Provider)
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 93. 创建一个空验证器
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 96. 运行一个同步适配器
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 95. 创建一个同步适配器
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 87. 序言:同步到云
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 5. 序言:添加Action Bar
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 0. 序言:构建你的第一个应用
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 102. 序言:让你的应用获知地点
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 97. 序言:访问通讯录数据
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
随机推荐
- Linux学习第三步(Centos7安装mysql5.7数据库)
版本:mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 前言:在linux下安装mysql不如windows下面那么简单,但是也不是很难.本文向大家讲解了如何在Cent ...
- @JsonFormat 日期格式自动格式化
通常日期格式都是以时间戳的形式存放在数据库里,当前端页面通过接口查询时,我们会将一个对象的某些属性查出来返回给页面. 例如,某个类里面有个属性 Timestamp create_time 给这个对象实 ...
- thinkphp中的钩子_什么是钩子?
讲到插件,不得不讲钩子.首先,我们之前说明了插件是一个扩展的功能实现. 既然是扩展的,那么就要很灵活.可复用,并不是像我们之前开发项目,一个功能实现了,就写死在代码里了. 项目其他地方要用了,怎么办, ...
- win10+ubuntu17.04双系统安装与卸载(uefi+gpt)及常见软件安装
换了台笔记本,重新装了下系统.配置是i7 6700hq+gtx965m,重装了下双系统. 之前老机器是大一时候买的,装得是win7+ubuntu19.04(mbr+bios).新机器到手,想法是装了w ...
- mac上解决Resource temporarily unavailable
Resource temporarily unavailable这种问题一般是因为当前的进程数或者文件数不够 fork: Resource temporarily unavailable 修改最大进程 ...
- grok 匹配log4j
input { file { codec => multiline { pattern => "^\[2016" negate => true what => ...
- 点评阿里JAVA手册之编程规约(命名风格、常量定义、代码风格、控制语句、注释规约)
下载原版阿里JAVA开发手册 [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文难度系数为一星(★) 码出高效.码出质量. 代码的字里行间流淌的是 ...
- Jenkins修改管理员密码
前言:Jenkins修改管理员密码,我看了网上所有的教程,竟然全都是拿着一串已经加密好的111111的密文去替代config.xml文件里面的密码,然后大家的密码都是111111!我觉得这种做法实在太 ...
- 初入计算机图形学(二):对bidirectional path tracing的一些困惑
本人水平有限,若有错误也请指正~ 前文提及了光线追踪的一些常用手法,但是其中path tracing的实现最为简单,但是其最致命的一个缺点就是图像收敛速度很慢..原因在于从摄影机发射出的每一条光线若不 ...
- hdu5803
hdu5803 题意 给出四个整数 A B C D,问有多少个四元组 (a, b, c, d) 使 a + c > b + d 且 a + d >= b + c ,0 <= a &l ...