Más contenido relacionado
Similar a Android账户同步备份框架 | 盛大乐众ROM 郭振 (20)
Más de imShining @DevCamp (10)
Android账户同步备份框架 | 盛大乐众ROM 郭振
- 3. 北漂,攻城狮
霍华德图片
http://p.yoho.cn/11670215.jpg
- 15. 一般的账户模块设计
输入用户名和密码
发送登录请求
读
取
登录成功,获得Token 存储登录信息 数据库
取
读
加入Token构造网络请求
- 17. 结构
app framework
app AccountManager
AccountAuthenticator
binder AccountManagerService
AccountAuthenticatorService
SQLite
- 18. 手机
app
token
toke
账户系统
n
tok
en
Web service token Passport
- 19. AccountAuthenticatorActivity AbstractAccountAuthenticator
SndaAccountActivity
用户输入用户名和密码 SndaAuthenticator
连接到账户server进行验证 1:getAuthToken(Account)
2:addAccount(AccountType)
把获得的证书存储到设备上 。。。。
mAccountManager.addAccountExplicitly
AuthenticaltorService
(account, mPassword, null);
<action android:name=
"android.accounts.
AccountAuthenticator" />
- 22. getAccountsByType
是否有账户 否 addAccount
是
getAuthToken/blockingGetAut
hToken
根据token构造请求
token是否过期 是 invalidateAuthToken
否
继续app处理
- 26. 同步Server 用户验证 解析同步包 冲突解决 响应同步结果
SymcML协议,HTTP请求
同步Client
同步信息处理 同步请求和响应 同步请求控制和调度
- 28. 架构图
app framework
SyncManager
app
SyncQueue
AbstractThreadSyncAdapter
SyncService
AlarmManager
ActiveSyncContext
SyncStorageEngine
- 29. 通讯录同步 AbstractThreadSyncAdapter
ContactSyncrAdapter
ContactManager OnPerformSync()
SyncContacts()
SyncService
<action android:name=
" android:name="android.content.SyncAdapter" />" />
- 33. App
BackupAgent
dataChanged
BackupManagerService
ServiceKey
LocalTransport 云端
GoogleTransaportor 存储
Cache
- 34. BackupAgent
CalllogBackupAgent
onBackup()和onRestore()
在manifest文件内用android:backupAgent
属性声明备份代理和backup key
- 44. Q&A
Email: guozhen@sdna.com
weibo: weibo.com/guozhen01