在android设备与webserver之间实现数据同步能显著提高你的应用的有用性。让你的应用更受用户的欢迎。

比方说。你的数据上传给webserver,这就有了一个有用的备份。当用户的设备离线工作时,这时从server下载输数据是非常有用的。有些情况下,用户可能会认为通过网页的同步接口来输入或编辑数据更方便,由于这些数据非常快就从同页上同步过来了,他们也可能想在一段时间内採集数据然后再将数据上传到中央存储区。



虽然你能够自己为你的应用设计一套传输数据系统, 你仍应该考虑使用Android的Sync adapter framework(m同步适配器框架)。这个框架能帮你自己主动管理传输数据以及多个不同应用之间的对应的同步操作。借助这个框架。你能够使用下面几个功能,而这些功能不适用于你自己设计的传输数据方案。

插件结构

同意你以可调用控件的形式来向系统加入传输数据代码。



自己主动化操作

同意你基于大量的标准之上进行数据自己主动传输,当中包含数据改动,执行时间以及当天的时间。另外。你可在系统里加入传输数据代码,这些代码无法在队列里执行。当须要的时候,它们就会被执行。



网络自己主动检查

当你的设备有网络连接时,系统才会数据传输。



提高电池性能

你可以在一个位置来集成管控你全部应用的传输数据任务。保证了它们都在同一时间被运行。相同。你应用的传输数据和其他应用的传输数据也被限定连在一起了。

这些特性可以降低你的系统在网络上切换的次数,也就降低了电池的消耗。



帐户的管理和认证

如你的应用有须要用户的证书或server的登录,你能够非常任意将帐户的管理和认证集成到你的传输数据中。



这个类展示了怎样创建一个同步适配器和bound service,当中bound service 包裹着适配器。

怎样提供一些组件可以帮助你将sync adapter 集成到框架里,怎样用各种方式执行同步适配器(sync adapter)。



注意:同步适配器能够异步工作。所以使用前你要先知道它们是定期而有效地数据传输。而不是即时地。假设你须要即时数据传输,应该在AsyncTask或IntetentService里操作。

教程

创建一个根认证器

学习如何加入一个帐户处理组件,满足同步适配器的须要,成为你app的一部分。这个教程会向你展示如何简单地创建一个根验证器。

创建根Content provider

学习怎样加入一个content provider, 满足同步适配器的须要,成为你app的一部分。

这节教程如果你的应用没有使用content provider, 这里会你演示怎么创建这个根组件。如果你的应用已经使用了content provider, 请忽略这部分。



创建同步适配器(sync adapter)

学习怎样将你的传输数据代码封装到你的组件,使同步适配器框架(sync adapter framework)能够自己主动执行。



执行同步适配器(sync adapter)

学习怎样使用同步适配器框架(sync adapter framewrok)来触发和安排你的传输数据。

使用同步适配器(sync adapter)数据传输的更多相关文章

  1. 【Android Developers Training】 96. 运行一个同步适配器

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  2. 【Android Developers Training】 95. 创建一个同步适配器

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. 【Android Developers Training】 92. 序言:使用同步适配器传输数据

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  4. Linux就这个范儿 第15章 七种武器 linux 同步IO: sync、fsync与fdatasync Linux中的内存大页面huge page/large page David Cutler Linux读写内存数据的三种方式

    Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cut ...

  5. Android sync adapter初体验之为什么官方文档上的代码不能work

    回答:因为其实可以work sync adapter就是google推出的一个同步框架,把各种同步操作放在一起智能管理比较省电之类的.对我而言最具体的好处反正就是,不用自己写代码了,用框架就可以了.目 ...

  6. 七、适配器(Adapter)模式--结构模式(Structural Pattern)

    适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作. 类的 Adapter模式的结构: 类适配器类图: 由图中可以看出,Adaptee ...

  7. 设计模式的征途—7.适配器(Adapter)模式

    在现实生活中,我们的笔记本电脑的工作电压大多数都是20V,而我国的家庭用电是220V,如何让20V的笔记本电脑能够工作在220V的电压下工作?答案:引入一个电源适配器,俗称变压器,有了这个电源适配器, ...

  8. 解决:android源码同步repo sync 时出现的fatal:duplicate path错误

    问题重现: 解决方法: 1.删除android项目里隐藏的 .repo 文件夹中除了以下几个文件夹的其他文件及文件夹 2.重新初始化android项目 repo init -u https//gith ...

  9. linux 同步IO: sync、fsync与fdatasync

    [linux 同步IO: sync.fsync与fdatasync] 传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行.当将数据写入文件时,内核通常先将该数据 ...

随机推荐

  1. 【反射】Java反射机制

    Class 1.Class是一个类,一个描述类的类(也就是描述类本身),封装了描述方法的Method,描述字段的Filed,描述构造器的Constructor等属性    2.对象照镜子后(反射)可以 ...

  2. 解决Android弹出软键盘导致的问题

    一.当Activity启动后EditText直接获取了焦点,此时软键盘会自动弹出,这种体验并不是很好,因此要做的Activity启动不自动弹出软键盘,只需要在Manifest中对应的Activity添 ...

  3. Ajax——异步基础知识(二)

    XML数据格式 首行必须是版本号和格式等信息 <?xml version="1.0" encoding="utf-8" ?> 最外层需要一个根节点进 ...

  4. servlet-请求重定向

    package servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.ser ...

  5. [Windows Server 2008] 安装IIS7.5及FTP

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:安装IISII ...

  6. java中 数组 list map之间的互转

    三者之间转换关系,一张图清晰呈现. 上代码: 其中的maputils是apache的collection包. package util; import java.util.ArrayList; imp ...

  7. Detectron-MaskRCnn: 用于抠图的FCNN

    市面上暂时还没有找到可以在消费机显卡上实时运行的MaskRCnn,TensorFlow即使是C++版本训练在coco数据集上的模型也是慢的要死,最后不堪忍受,只能放弃. 经历了一些列fuckingDo ...

  8. Spring MVC 笔记2 HelloWorld

    实现这个例子的问题 WEB-INFO目录下必须有spring的包,放在lib下:如下图(这里我直接把idea创建时宣称springmvc,然后把idea给的lib拷贝了下来,也可以的) request ...

  9. BZOJ 2038 2009国家集训队 小Z的袜子【模板·莫队】

    [题解] 1,先说说莫队算法. 莫队算法是用来离线处理区间问题的算法.非常易于理解和使用,且运用十分广泛. 假设我们现在已知区间[L,R]的答案,如果我们能以较低的时间复杂度扩展得到区间$[L-1,R ...

  10. hdu2010 水仙花数【C++】

    水仙花数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...