`
mmdev
  • 浏览: 13027765 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

【幻灯片分享】Android账户同步备份框架 | 盛大乐众ROM 郭振 | Android DevCamp

 
阅读更多

实用技术经验分享:《Android账户同步备份框架》| 盛大乐众ROM 郭振 | Android DevCamp

主题简介:Android从2.0之后加入了账户、同步、备份框架,此次会介绍这三个框架的架构和设计,并从系统开发的角度讨论如何与Android的账户同步备份框架对接,将自己的服务集成到Android系统中。

讲师简介:郭振,盛大创新院高级研究员,乐众Rom架构师,负责乐众Rom整体架构设计。早期做过Windows Mobile开发,08年开始从事Android开发,曾供职于播思、百度,参与了Ophone和百度易平台的开发,在移动互联网应用和手机OS开发方面有丰富的经验。


【幻灯片在线观看】*:

<iframe src="http://www.slideshare.net/slideshow/embed_code/13839219" width="597" height="486" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen=""> </iframe>

备注:* 因为炫姐姐对SlideShare这一平台的偏爱,尽管需要使点小技巧才能上传分享,但是炫姐姐还是坚持选择了这一功能强大却简洁好用的平台。一来对国外这些开发出优秀的工具和平台、造福于互联网和人类的团队表示致敬,二来则是对国内对于这些优秀的工具和平台的限制表示一下立场。读者如果不能正常浏览,那么需要像炫姐姐一样用点小技巧。而对于那些还是不知道炫姐姐在说什么的小白读者,可以移步到这里寻找解决方案。


【幻灯片下载页面】:Android DevCamp幻灯片分享:Android账户同步备份框架 | 盛大乐众ROM 郭振 -来自CSDN下载频道(不需要积分,自由下载)


【幻灯片内容刚要】:

  • 1. Android DevCampProduced by CSDN
  • 2. Android的账户同步备份框架 乐众Rom架构师  盛大创新院  郭振 
  • 3. 北漂,攻城狮 霍华德图片 http://p.yoho.cn/11670215.jpg
  • 4. 服务
  • 5. Google Service Framework•  账户:Gmail,Google play,G+,Google Now•  同步: Google Sync•  备份:Google Data Backup
  • 6. 设计⼀一个同步备份的软件
  • 7. 功能需求设计盛大服务统⼀一入口:盛大账户,共享登陆成果将通讯录和日历信息同步到服务器上将通话记录,短信,系统设置等信息备份到存储卡
  • 8. 交互界面
  • 9. 交互界面
  • 10. 交互界面
  • 11. 盛大账户的设计
  • 12. 一般的账户模块设计 输入用户名和密码 发送登录请求 读 取 登录成功,获得Token 存储登录信息 数据库 取 读 加入Token构造网络请求
  • 13. 账户管理是什么提供了集中的账户访问接口AccoutManagerpublic Account[] getAccountsByType(String type)public getAuthToken()管理多账户和存储账户信息
  • 14. 结构 app framework app AccountManager AccountAuthenticator binder AccountManagerServiceAccountAuthenticatorService SQLite
  • 15. 手机 app token toke 账户系统 n tok enWeb service token Passport
  • 16. AccountAuthenticatorActivity AbstractAccountAuthenticator SndaAccountActivity 用户输入用户名和密码 SndaAuthenticator 连接到账户server进行验证 1:getAuthToken(Account) 2:addAccount(AccountType) 把获得的证书存储到设备上 。。。。mAccountManager.addAccountExplicitly AuthenticaltorService (account, mPassword, null); <action android:name= "android.accounts. AccountAuthenticator" />
  • 17. 注意1:账户Server支持,Web服务接入2:注意账户信息的安全
  • 18. 如何调用1:GET_ACCOUNTS权限2:请求流程:AccountType:com.snda 
  • 19. getAccountsByType 是否有账户 否 addAccount 是getAuthToken/blockingGetAut hToken 根据token构造请求 token是否过期 是 invalidateAuthToken 否 继续app处理
  • 20. Account & Sync的设置
  • 21. 功能需求使用盛大账户登录,且登录之后,其他应用无需再登录将通讯录和日历信息同步到服务器上
  • 22. PIM同步设计
  • 23. 同步Server 用户验证 解析同步包 冲突解决 响应同步结果 SymcML协议,HTTP请求同步Client 同步信息处理 同步请求和响应 同步请求控制和调度
  • 24. 同步管理框架 – 处理基于账户的信息同步 – 只负责调度控制各同步流程,具体协议, 服务,操作各App自行开发 – gmail的通讯录,calendar同步, FaceBook自动更新
  • 25. 架构图 app framework SyncManager app SyncQueueAbstractThreadSyncAdapter SyncService AlarmManager ActiveSyncContext SyncStorageEngine
  • 26. 通讯录同步 AbstractThreadSyncAdapter ContactSyncrAdapterContactManager OnPerformSync()SyncContacts() SyncService <action android:name= " android:name="android.content.SyncAdapter" />" />
  • 27. 功能需求使用盛大账户登录,且登录之后,其他应用无需再登录将通讯录和日历信息同步到服务器上将通话记录,短信,系统设置备份到存储卡
  • 28. Google如何设计的数据备份的?
  • 29. App BackupAgent dataChanged BackupManagerService ServiceKeyLocalTransport 云端 GoogleTransaportor 存储 Cache
  • 30. BackupAgent CalllogBackupAgent onBackup()和onRestore()在manifest文件内用android:backupAgent 属性声明备份代理和backup key
  • 31. 我们怎么做?
  • 32. 1:抛弃框架,直接读写数据库2:获得Root权限,通过shell命令将应用的data数据强制拷贝到sd卡下3:扩展备份系统
  • 33. 扩展备份系统•  扩展Transport,负责与存储信息IBackupTransport.StubperformBackuppreformRestore•  版本管理•  界面开发
  • 34. 功能需求使用盛大账户登录,且登录之后,其他应用无需再登录将通讯录和日历信息同步到服务器上将通话记录,短信,系统设置,应用程序备份到存储卡
  • 35. 回顾•  账户管理•  同步管理•  备份管理
  • 36. 乐众ROM:娱乐+大众
  • 37. 娱乐:依托盛大集团资源打造手机娱乐平台
  • 38. 大众:高、中、低端 16款机型全面覆盖
  • 39. Q&A Email: guozhen@sdna.com weibo: weibo.com/guozhen01


分享到:
评论

相关推荐

    郭振:Android账户同步备份框架

    Android从2.0之后加入了账户、同步、备份框架,此次会介绍这三个框架的架构和设计,并从系统开发的角度讨论如何与Android的账户同步备份框架对接,将自己的服务集成到Android系统中。

    基于字符的中文分词_词性标注和依存句法分析联合模型_郭振1

    摘要:目前,基于转移的中文分词、词性标注和依存句法分析联合模型存在两大问题:一是任务的融合方式有待改进;二是模型性能受限于全标注语料的规模。针对第一个问题,该文

    咖啡店管理系统 (Java 版) 源代码+使用说明+可做毕设

    咖啡店管理系统 (Java 版) 源代码 项目简介 这个 Java 项目是一个简单的商店管理系统。该系统处理任何咖啡酒店的业务细节。要制作这个项目,你需要 JetBrains IntelliJ IDE。这个 IDE 将为项目提供设置。你还需要 PostgreSQL 作为数据库。设计简单且用户友好。 系统介绍 关于 Java 版咖啡店管理系统,该系统处理酒店用户的管理。在使用系统之前,你需要先注册然后登录系统。从那里你可以管理你的工作空间,你可以添加客户,管理销售并进行更新。 设计非常简单,用户在操作时不会遇到困难。该项目易于操作和理解。要运行此项目,你必须在电脑上安装 Eclipse IDE 或 JetBrains IntelliJ IDE。 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。

    vspdconfig虚拟串口软件

    用于添加虚拟串口,而不用连接硬件,方便调试。

    仿真设计zzz.uvproj

    asdf.uvproj

    强大且美观的WPF UI控件库:HandyControl

    HandyControl是一套WPF控件库,它几乎重写了所有原生样式,同时包含80余款自定义控件。使用HandyControl你可以轻松地创建一个美观的WPF应用程序,从而大大提高开发效率。

    高分项目,基于Unity3D开发实现的打砖块游戏,内含完整源码+资源

    高分项目,基于Unity3D开发实现的打砖块游戏,内含完整源码+资源 一款经典的打砖块游戏,画面清晰玩法简单,运行流畅。游戏包括60个关卡,支持3种不同速度的节奏。《打砖块 高清版 Krakout HD》是一款经典的打砖块游戏,你可以自己玩也可以跟朋友一起玩双人模式,游戏有丰富的背景,大量的关卡,劲爆的音乐。PS:如果出现ERR:...

    grpcio-1.7.0-cp36-cp36m-win32.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    grpcio-1.7.3-cp36-cp36m-win32.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    intel_openmp-2023.2.4-py2.py3-none-manylinux1_i686.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    高分项目,基于Unity3D开发实现的精品即时战略游戏,内含完整源码+资源+unitypackage

    高分项目,基于Unity3D开发实现的精品即时战略游戏,内含完整源码+资源+unitypackage 即时战略游戏的形态经过了漫长的演变,按照如今的标准,是很难确定其前身的。这个游戏类型在英国与北美走过了各自的发展道路,最终融合成一个共同的形态。 在英国,即时战略可以追溯至1983年,由John Gibson开发的《Stonkers》,以及1987年发行的《Nether Earth》。这两款游戏都发行在ZX Spectrum家用电脑上。

    简历模板简洁风精致求职简历模板多年经验简洁线条.zip

    在竞争激烈的职场中,一份专业且引人注目的简历是你通往梦想工作的黄金钥匙。我们特别为你呈现精选的面试求职简历模板,每一款都设计独特、格式清晰,帮助你在众多候选人中脱颖而出。 这些简历模板采用多种风格与布局,无论是创新、传统还是现代简约,都能满足不同行业与职位的需求。它们不只拥有吸引人的外表,更重要的是其实用性强,使得招聘经理能一眼捕捉到你的核心竞争力与职业亮点。 模板的易编辑性让你能快速个性化地调整内容,针对性地展现你的才华和经验。使用这些模板,你将更容易获得面试机会,并有效地向雇主展示你的潜力和价值。 不要让平凡无奇的简历阻挡你的职场前进之路。立即下载这些令人眼前一亮的简历模板,开启你的职场新旅程。记住,美好的第一印象是成功的开始,而一份精心制作的简历,就是你赢得梦想工作的第一块敲门砖。

    视觉密度、信息密度、设计密度

    1.等多个维度说明UI设计思路 2.理论与实践的有效结合

    数学建模将现实世界的问题抽象化为数学模型利用数学工具和技术来分析和解决

    数学建模是将现实世界的问题抽象化为数学模型,并利用数学工具和技术来分析和解决这些问题的过程。它在科学、工程、经济、环境等各个领域中都有广泛的应用。数学建模的一般步骤包括: 1. **问题理解和定义**:明确问题的背景、目标和限制条件。这一步骤涉及与领域专家和利益相关者的沟通,确保对问题的全面理解。 2. **建立数学模型**:根据问题的特性选择合适的数学方法和工具建立数学模型。模型可以是代数方程、微分方程、优化问题或概率模型等。 3. **模型分析**:对建立的数学模型进行分析,包括数学特性的探索、解的存在性和唯一性分析、稳定性分析等。这一步骤通常涉及数学理论和计算技术的结合。 4. **数值实验和模拟**:通过数值方法或计算机模拟对模型进行测试和验证,以评估模型的有效性和实用性。 5. **结果解释和评估**:将数学模型的结果与实际问题进行比较和解释,评估模型对问题的适用性和预测能力。 6. **模型优化和改进**:根据实际需求和反馈优化模型,可能涉及参数调整、模型扩展或增加复杂性等操作。 数学建模不仅需要数学知识的深度和广度,还需要对具体领域的理解和问题解决能力。成功

    protobuf-3.15.0-cp39-cp39-manylinux1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    Kotlin 简介教程.docx

    Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程

    aiohttp-3.8.3-cp310-cp310-musllinux_1_1_ppc64le.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    content_1718616449016.docx

    content_1718616449016.docx

    java毕业设计之新生宿舍管理系统(springboot源码+LW+PPT+视频)

    新生宿舍管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足学生,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑学生的可操作性,遵循开发的系统优化的原则,经过全面的调查和研究。 系统所要实现的功能分析,对于现在网络方便的管理,系统要实现学生可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改新生宿舍管理系统信息,这样既能节省时间,不用再像传统的方式耽误时间,真的很难去满足学生的各种需求。所以新生宿舍管理系统的开发不仅仅是能满足学生的需求,还能提高管理员的工作效率,减少原有不必要的工作量。

    NVIDIA的DLI深度学习证书代码

    NVIDIA的DLI深度学习基础-理论于实践入门证书领取代码

Global site tag (gtag.js) - Google Analytics