我应该将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
