我应该将Android AccountManager用于什么?

我已经在Android SDK中看到了AccountManager,它用于存储帐户信息。因此,我找不到任何针对其用途的一般性讨论。有人知道AccountManager的目的是什么以及它能给您带来什么好处吗?对于适合哪种类型的帐户有任何意见?您将在这里将用户的帐户信息用于常规Web服务吗?

回答:

这个问题有点老了,但我认为它仍然值得关注。

AccountManageryncAdapter然后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

回到顶部