我试图使用http://www.androidbootstrap.com/来引导一个新的 Android 应用程序。它使用 Otto、Dagger、Butterknife、Retrofit 和其他一些漂亮的东西创建了一个项目,同时还创建了有关如何使用它的示例代码。它真的很有用,因为它设置了注释处理和 Gradle 构建文件中的所有内容,以便 Android Studio 轻松导入它,它真的很整洁。
但是,我对登录屏幕不知所措。
/**
* This method gets called when the
* methods gets invoked.
* This happens on a different process, so debugging it can be a beast.
*
* @param response
* @param account
* @param authTokenType
* @param options
* @return
* @throws NetworkErrorException
*/
@Override
public Bundle getAuthToken(final AccountAuthenticatorResponse response,
final Account account, final String authTokenType,
final Bundle options) throws NetworkErrorException {
Ln.d("Attempting to get authToken");
final String authToken = AccountManager.get(context).peekAuthToken(account, authTokenType);
final Bundle bundle = new Bundle();
bundle.putString(KEY_ACCOUNT_NAME, account.name);
bundle.putString(KEY_ACCOUNT_TYPE, Constants.Auth.BOOTSTRAP_ACCOUNT_TYPE);
bundle.putString(KEY_AUTHTOKEN, authToken);
return bundle;
}
@Override
public String getAuthTokenLabel(final String authTokenType) {
return authTokenType.equals(Constants.Auth.AUTHTOKEN_TYPE) ? authTokenType : null;
}
@Override
public Bundle hasFeatures(final AccountAuthenticatorResponse response, final Account account,
final String[] features) throws NetworkErrorException {
final Bundle result = new Bundle();
result.putBoolean(KEY_BOOLEAN_RESULT, false);
return result;
}
@Override
public Bundle updateCredentials(final AccountAuthenticatorResponse response,
final Account account, final String authTokenType,
final Bundle options) {
return null;
}
}
我无法对其进行身份验证并实际“登录”。
所以我的问题如下:
- 此身份验证器针对什么进行身份验证?android 设备帐户,或 Parse.com,或完全不同的东西?
- 这个身份验证器究竟是如何工作的?如果不是 Bootstrap ,是否有一个指南解释了如何做到这一点(注意,在AndroidBootstrap网站上,没有,并且视频指南已经过时)?对我来说,这看起来像是一个乱七八糟的随机服务(如
AccountAuthenticatorService
),一个AbstractAccountAuthenticator
......虽然我确信它对某些东西有好处,但它看起来不必要地过于复杂,而且我不明白发生了什么。