我已经在Android SDK中看到了AccountManager,它用于存储帐户信息。因此,我找不到任何针对其用途的一般性讨论。有人知道AccountManager的目的是什么以及它能给您带来什么好处的讨论吗?对于适合哪种类型的帐户有任何意见?您将在这里放置用于常规Web服务的用户帐户信息吗?
最佳答案
这个问题有点老了,但我认为仍然很感兴趣。AccountManager
,SyncAdapter
和ContentProvider
一起使用。
SyncAdapter
without an Account
in the AccountManager
。 SyncAdapter
without a ContentProvider
。 但是你可以:
ContentProvider
而不使用其他代码。 AccountManager
(但您在Android 2.2/Froyo API 8之前使用cannot use an AccountManager
without a SyncAdapter
)使用
AccountManager
/SyncAdapter
/ContentProvider
:AccountManager
为用户提供一个中心点(“设置”>“帐户”)以定义其凭据SyncAdapter
完成同步。这可能是优化电池的好方法(例如,当网络中断时不进行同步)ContentProvider
是在应用程序之间共享数据的便捷方法注意:有other methods of inter-process communication on Android。
ContentProvider
在后台线程中调度数据库访问。 AsyncQueryHanlder
帮助在后台线程中查询ContentProvider
,从而防止了Application Not Responsive(ANR)错误,同时又不需要您显式处理线程。 ContentProvider
与ContentResolver
的观察者绑定(bind):这意味着在更改内容时很容易通知 View 底线:如果您想同步Web资源中的数据,则
AccountManager
/SyncAdapter
/ContentProvider
框架会有所帮助。 API 7上需要Fake/Dumb implementations。AsyncTaskLoader
最后,如果您使用
SyncAdapter
,请认真考虑Firebase Cloud Messaging(以前称为Google Cloud Messaging)又名“推送通知”,以获取更新的更新和优化的电池使用情况。关于android - 我应该将Android AccountManager用于什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2720315/