Android中文翻译 - AbstractAccountAuthenticator概述

我顺带把AbstractAccountAuthenticator  也翻译了,感觉直接看SampleSyncAdapter例子很难快速明白整体的意图,配合api是个好的方式,感叹android的api这是太详细了。

AbstractAccountAuthenticator 概述

AbstractAccountAuthenticator 概述

这是一个抽象的基类,用于创建账户管理器(AccountAuthenticators)。为了成为一 个 认证器,一个类必须继承该类,提供抽象方法的实现,并且写一个服务(service),
在被ACTION_AUTHENTICATOR_INTENT作为action的intent调用时,在该服务的 onBind
(android.content.Intent) 方法实现中,直接返回getIBinder() 的返回值结果。在

AndroidManifest.xml 文件中,这个服务必须指定下面的 intent过滤器(intent filter )和元数据标记。

<intent-filter>
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data android:name="android.accounts.AccountAuthenticator"
android:resource="@xml/authenticator" />

译者注:ACTION_AUTHENTICATOR_INTENT其实是个常量,等于字符串
android.accounts.AccountAuthenticator,其实就是和上面这个intent filter的过
滤器action相同。

上面的xml描述中,android:resource 属性必须指向一个资源文件,像下面这样:

<account-authenticator

xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="typeOfAuthenticator"
android:icon="@drawable/icon"
android:smallIcon="@drawable/miniIcon"
android:label="@string/label"
android:accountPreferences="@xml/account_preferences"
/>

使用你自己的资源替换 icon 和 label 属性指向的值。android:accountType 属性必须是个字符串,它唯一标识了你的 认证器,并且和 用户使用AccountManager 调用时

指定的字符串相同,同时 和你的账户类型(account type)一致。 android:icon的一个使用者是在 “账户和同步”设置页,android:smallIcon的一个使用者是在 联系人

应用程序的标签面板。

android:accountPreferences属性指向一个 首选项屏幕设置的xml配置文件
(PreferenceScreen xml ),它包含了一个PreferenceScreen 的列表,可以层级嵌套。

它可以被调用以管理认证器。示例如下:

<PreferenceScreen

xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/title_fmt" />
<PreferenceScreen
android:key="key1"
android:title="@string/key1_action"
android:summary="@string/key1_summary">
<intent
android:action="key1.ACTION"
android:targetPackage="key1.package"
android:targetClass="key1.class" />
</PreferenceScreen>
</PreferenceScreen>

一些抽象方法的标准实现模式,像下面这样:

  • * 如果为 认证器 提供的参数是足够的,到达了完全的满意,这时将会这样做(will do so )并且返回一个包含了结果的Bundle。
  • * 如果 认证器 需要 从用户那里收集信息才能达到满意,这时,将创建一个intent打开
    “提示用户信息的activity”,并且完成该请求。这个intent必须返回一个包含了 指定key名称为 KEY_INTENT 的 Bundle.当完成的时候,这个activity需要返回final修饰的结果。

    这个intent应该使用key指示 KEY_ACCOUNT_MANAGER_RESPONSE来包含AccountAuthenticatorResponse。这个activity在结束时必须调用 onResult(Bundle) 或者 onError(int, String) 。

  • 如果认证器不能同步处理请求,并且返回一个结果。那么当完成请求时,它可以选择返
    回null和使用 AccountManagerResponse 去发送结果。

后续的关于 每个抽象认证器方法 的描述,将不描述 可能的异步原生请求处理,而将描述输入参数和期望结果来替代。

当写一个activity去满足那些请求,一种方式,必须在activity关闭时(或者任何其他情况下activity的作者认为是一个正确的时间去响应时),通过
AccountManagerResponse 并且通过响应返回结果。AccountAuthenticatorActivity
用于处理这些,那么当写activity去处理这些请求时,某人可以希望去继承(extend)
它。

-----

张云飞vir 写于 2014-10-15

时间: 2024-10-05 04:01:38

Android中文翻译 - AbstractAccountAuthenticator概述的相关文章

Android中文翻译 - AccountAuthenticatorActivity概述

AccountAuthenticatorActivity概述 这是一个抽象的用于实现activity的基类,常被用于帮助 抽象认证器 (AbstractAccountAuthenticator)的具体实现(implement).如果 抽象认证器AbstractAccountAuthenticator 需要使用一个activity去捕获请求,这是它可以 让一个activity来继承AccountAuthenticatorActivity. 抽象认证器AbstractAccountAuthentic

Android中文翻译 - AccountManager概述

为了理解,我翻译了AccountManager类的概述部分.转载请注明出处:http://www.cnblogs.com/vir56k/p/4025722.html AccountManager概述 这个类提供了访问到 用户在线账户的集中式注册中心 的能力.用户为每账户输入一次 认证信息(credentials,包含用户名和密码),过过 点击一次(one-click)完成认证的方式,授权应用程序(app)访问 在线的资源.不同的服务具有不同的处理账户的认证的方式,而 Account Manage

Android中文翻译 - AccountManagerFuture概述

AccountManagerFuture概述 一个AccountManagerFuture 表现了 异步的AccountManager调用的结果.它提供了一些方法用于判断计算是否完成,等待计算过程,和获得运算结果.当运算完成后,阻塞(如果需要的话)知道结果被准备好,结果只能被使用 get 方法获得.取消操作将被 cancel方法处理.额外的方法被提供为判断任务被正常完成或者被取消.一旦一个运算被完成,运算就不能被取消了.如果你为了可以取消的意图而不提供一个有用的结果的方式 来使用这个类,你可以声

Android 中文翻译:Build System Overview

Andrioid 编译系统是你用于build,test,runapp的工具箱.编译系统的运行,可以通过Android Studio的菜单或者是独立的命令行.通过编译系统的特性你可以做以下的事情: (1)      自定义,配置,扩展编译进程. (2)      用同一个project and modules创建拥有不同特性的apk. (3)      通过来源设置重用代码和资源. Android编译系统的自由性,能够在不修改您应用程序的核心源文件的基础上实现您想要的一切. 如何使用Android

Android中文翻译 - Iconography 图标设计概述

2014-10-30 张云飞VIR 翻译自:https://developer.android.com/design/style/iconography.html Iconography 图标设计概述 一个图标是一个图像,它占据了一小部分屏幕不动产.并且为一个活动(action),状态(status),或者一个app提供了一个快速,直观的程序. 当你为你的app设计图标时,重要的需要留下的是,你的app可能被安装在那些提供一个范围的像素密度的多种设备中,就像  Devices and Displ

Android中文翻译 - Adding the Action Bar 添加活动栏(action bar)

2014-10-28 张云飞VIR 翻译自:https://developer.android.com/training/basics/actionbar/index.html 添加活动栏(Adding the Action Bar) 译者注:我找不到更好的词汇翻译action bar,虽然我也认为 活动栏 不是个好的翻译,但总要有个中文名字.不过为了方便识别,本文仍继续使用英文的actionbar 活动栏action bar 是非常重要的设计元素之一,你可以为你的app中的activity来实

Android中文翻译 - 主题(themes )介绍

译者注:theme(主题)和style(样式)是专用术语,下面对这两个词汇不在使用中文词汇. theme 是安卓的一种机制,用于为应用程序和activity提供一致的样式(style).样式style规范了组成用户图形接口的一些元素的可视化属性.比如颜色( color),高度,填充,字体尺寸.为了在平台中所有的APP应用之间,提供比较大的结合性.安卓提供了两个系统主题样式,这样当你构建应用时就可以选择: Holo Light Holo Dark 在帮助你构建APP时应用这些主题,适应普遍的安卓可

Android中文翻译 - Building Your First App 构建你的第一个应用

本文翻译自:https://developer.android.com/training/basics/firstapp/index.html 构建你的第一个应用(app) 欢迎来到安卓开发! 这个类别教你如何构建你的第一个应用.你讲会学到如何去创建一个安卓工程和启动一个可以调试的应用的版本.你将会学到一些安卓设计的基础,包括如何构建一个简单的用户界面和处理用户输入. 在你开始这个类别之前,确保你已经有了安卓开发环境并设置好,你需要: 1.下载安卓开发包(Android SDK) 2.为你的Ec

Android中文翻译 - Styles and themes (样式和主题)

本文翻译自:https://developer.android.com/guide/topics/ui/themes.html Style和theme词汇是专用术语,下文直接使用而不翻译. 样式和主题(Styles and Themes) 一个样式(Style)是一个包含了指定样子和格式的作用于视图控件(View)或者窗体(Window)属性集合.一个style可以指定很多属性,比如 高度,填充,字体颜色,字体尺寸,背景色等.一个Style在xml资源文件中定义,并且和在xml中指定的布局区分开