我应该将Android AccountManager用于什么?
我已经在Android SDK中看到了AccountManager,它用于存储帐户信息。因此,我找不到任何针对其用途的一般性讨论。有人知道AccountManager的目的是什么以及它能给您带来什么好处吗?对于适合哪种类型的帐户有任何意见?您将在这里将用户的帐户信息用于常规Web服务吗?
回答:
这个问题有点老了,但我认为它仍然值得关注。
AccountManager
,yncAdapter
然后ContentProvider
一起去。
- 你不能有一个
SyncAdapter
没有Account在AccountManager
。 你不能有一个
SyncAdapter
没有ContentProvider
。但是你可以:
使用
ContentProvider
没有其他的。在
AccountManager
没有其他功能的情况下使用(但在AccountManager
没有SyncAdapterAndroid 2.2 / Froyo API 8
之前的情况下不能使用)用
AccountManager/ SyncAdapter/ ContentProvider
:AccountManager
为用户提供一个中心点(“设置”>“帐户”)以定义其凭据Android
决定何时可以通过进行同步SyncAdapter
。这样可以优化电池电量(例如,当网络中断时不进行同步)ContentProvider
是跨应用程序共享数据的便捷方法。注意:Android上还有其他进程间通信方法。ContentProvider
安排在后台数据库访问线程的AsyncQueryHanlder
帮助查询ContentProvider
在后台线程,防止应用程序没有响应(ANR)错误,同时不要求你明确地处理线程。ContentProvider与ContentResolver
的观察者相关联:这意味着在更改内容时很容易通知视图
底线:框架AccountManager
/SyncAdapter
/ContentProvider
帮助,如果你想将数据从一个网络资源同步。API 7需要伪造/哑巴实现。
- 如果只想存储数据,则应考虑一种更简单的数据存储机制
- 如果您只需要获取唯一资源,则可以使用 AsyncTaskLoader
- 如果要异步加载图像,则可以使用特殊的库,例如Square Picasso
- 如果您只想在给定时间执行一些代码,则可以考虑“服务/警报”
- 仅可从API> = 7获得(这不再重要)
最后,如果您使用
SyncAdapter
,请认真考虑Firebase Cloud Messaging(以前称为Google Cloud Messaging)又名“推送通知”,以获取更新的更新和优化的电池使用情况。v
以上是 我应该将Android AccountManager用于什么? 的全部内容, 来源链接: utcz.com/qa/415277.html