Phi*_*hil 147 android accountmanager
我在Android SDK中看过AccountManager,它用于存储帐户信息.因此,我找不到任何关于其目的的一般性讨论.有谁知道有关AccountManager背后的意图以及它为您购买的内容的任何有用的讨论?对于哪种类型的账户适合的任何意见?这是您将用户的帐户信息用于一般Web服务的位置吗?
rds*_*rds 93
这个问题有点陈旧,但我认为它仍然有很好的兴趣.
AccountManager
,SyncAdapter
并ContentProvider
一起去.
但是你可以:
ContentProvider
没有其他人.AccountManager
没有其他人(但你不能在AccountManager
没有SyncAdapter
Android之前使用Android 2.2/Froyo API 8)用AccountManager
/ SyncAdapter
/ ContentProvider
:
AccountManager
为用户提供一个中心点(设置>帐户)来定义其凭据SyncAdapter
.这可以很好地优化电池(例如,当网络关闭时不进行同步)ContentProvider
是跨应用程序共享数据的便捷方式注意:Android上还有其他进程间通信方法.ContentProvider
安排在后台线程数据库访问AsyncQueryHanlder
帮助查询ContentProvider
在后台线程,防止应用程序没有响应(ANR)错误,同时不要求你明确地处理线程.ContentProvider
与ContentResolver
观察者联系:这意味着在内容改变时很容易通知视图结论:如果要从Web资源同步数据,框架AccountManager
/ SyncAdapter
/ ContentProvider
会有所帮助.API 7还需要伪/ 哑实现
AsyncTaskLoader
最后,如果您使用a SyncAdapter
,请认真考虑Firebase云消息传递(以前称为Google云消息传递),即"推送通知",以获得更新的更新和优化的电池使用情况.
Gab*_*Gab 23
AccountManager类已与您的电话帐户集成.因此,如果您按照所有指南操作并使其正常工作,您将在"设置 - >帐户和同步"菜单下看到您的帐户.从那里你可以自定义它们甚至删除它们.此外,accountManager还有一个帐户的身份验证票证缓存.如果您不打算同步帐户,也可以使用此功能(据我所知).
如果您不希望您的帐户显示在该菜单下,则不应使用AccountManager并将帐户数据存储在其他位置(可能在共享首选项中)http://developer.android.com/guide/topics/data/data -storage.html
Mac*_*rse 14
来自http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/:
第一部分拼图称为帐户身份验证器,用于定义用户帐户在"帐户和同步"设置中的显示方式.实现帐户身份验证器需要3件:从onBind方法返回AbstractAccountAuthenticator子类的服务,提示用户输入其凭据的活动,以及描述帐户在向用户显示时应如何显示的xml文件.您还需要将android.permission.AUTHENTICATE_ACCOUNTS权限添加到AndroidManifest.xml.
该AccountManager
是由于以下原因好:
Accounts
然而,这不是使用 的主要原因,因为您可以在您的应用程序中轻松管理它,而无需这个看起来很花哨的Accounts
东西......。Accounts
是摆脱了每次用户请求授权功能时使用用户名和密码的传统授权,因为身份验证是在后台进行的,并且仅在特定条件下才要求用户输入密码,这稍后我会谈到它。Accounts
在 android 中使用该功能还消除了定义自己的帐户类型的需要。您可能遇到过使用 Google 帐户进行授权的应用程序,这样可以省去创建新帐户和记住用户凭据的麻烦。Accounts
可以通过设置独立添加吗?帐户Accounts
。例如,客户端可以同时在他们的安卓设备和 PC 中访问受保护的材料,而无需重复登录。Accounts
在 android 中使用该功能的一个重要原因是将涉及任何依赖于 的业务的两方(Accounts
所谓的身份验证者和资源所有者)分开,而不损害客户端(用户)的凭据。这些条款可能看起来相当模糊,但在阅读以下段落之前不要放弃......让我用一个视频流应用程序的例子来详细说明后者。公司 A 是与公司 B 签订合同的视频流媒体业务的持有人,为其某些成员提供优质的流媒体服务。B 公司采用用户名和密码方法来识别其用户。对于 A 公司识别 B 的高级会员,一种方法是从 B 获取他们的列表并使用类似的用户名/密码匹配机制。这样,验证者和资源所有者是相同的(A 公司)。除了用户有义务记住第二个密码外,他们很可能在使用 A 公司的服务时设置了与 B 公司配置文件相同的密码。这显然是不利的。
为了弥补上述缺点,引入了OAuth。作为授权的开放标准,在上面的例子中,OAuth 要求 B 公司(身份验证者)通过为符合条件的用户(第三方)颁发一些称为 Access Token 的令牌,然后向 A 公司(资源所有者)提供授权来完成授权。令牌。所以没有令牌意味着没有资格。
我AccountManager
在我的网站上对此进行了更多详细说明。
归档时间: |
|
查看次数: |
59351 次 |
最近记录: |