我試圖使用http://www.androidbootstrap.com/來引導一個新的Android應用程序。它用Otto,Dagger,Butterknife,Retrofit和其他一些漂亮的東西創建了一個項目,同時還創建瞭如何使用它的示例代碼。這非常有用,因爲它設置了註釋處理以及Android Studio的Gradle構建文件中的所有內容,以便輕鬆導入它,它非常整潔。AndroidBootstrap:身份驗證 - 它是如何工作的?
但是,我在登錄屏幕處於虧損狀態。
/**
* 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
...巨大的混亂...雖然我確定它對某些東西有好處,但看起來不必要的過於複雜,我不明白髮生了什麼。