当前位置: 首页 > 面试题库 >

我应该将Android AccountManager用于什么?

郭琦
2023-03-14
问题内容

我已经在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


 类似资料:
  • 问题内容: 我试图了解该软件包,但不清楚应将注释用于什么目的。Javadoc没有解释其背后的想法。 Javadoc位于http://download.oracle.com/javaee/6/api/javax/inject/Named.html 我正在使用 Spring 3.0 编写一些示例程序,通过放在一个bean上似乎将其添加到bean工厂中,但是Javadoc的描述是如此之轻,我无法分辨这是

  • 问题内容: 之间有什么区别: 和 我知道JPanel是GUI组件的容器,但我确实看不到使用它的实用程序。当然,我错了,但我是从Swing开始的,所以…为什么我应该使用JPanel?真正的目的是什么? 问题答案: 为什么我应该使用JPanel? 您可以使用JPanel获得以下一项或多项好处: 将组件分组在一起。 为了更好地组织您的组件。 为了使我们能够使用 多种布局 并组合其效果。(例如,用于数字键

  • 问题内容: 有什么区别?什么时候应该使用容量为1的对抗? 问题答案: SynchronousQueue更像是一个传递,而LinkedBlockingQueue仅允许单个元素。区别在于对SynchronousQueue的put()调用直到有相应的take()调用 才返回 ,但LinkedBlockingQueue的大小为1,则put()调用(对空队列)将立即返回。 我不能说自己曾经直接使用过Sync

  • 问题内容: 我对使用和翻译有疑问。我了解到,在模型中,我应该使用。但是还有其他地方我也应该使用吗?表单定义呢?它们之间是否存在性能差异? 编辑: 还有一件事。有时候,代替被使用。正如文档所述,仅在将字符串显示给用户之前,才将字符串标记为要翻译,并在可能的最新情况下进行翻译,但是我在这里有点困惑,这与功能相似吗?我仍然很难决定在模型和表格中应该使用哪个。 问题答案: ugettext() 与 uge

  • 问题内容: 这似乎很明显,但是我发现自己对于何时使用花括号在ES6中导入单个模块感到有些困惑。例如,在我正在从事的React- Native项目中,我具有以下文件及其内容: initialState.js 在TodoReducer.js中,我必须不带花括号将其导入: 如果将花括号括起来,则以下代码行将出现以下错误: 无法读取未定义的属性待办事项 TodoReducer.js: 带有花括号的组件也发