사용자의 사용자 이름, 암호 및 토큰을 AccountManager
을 통해 저장하고 나중에 검색 할 수 있습니다. 앱이 열릴 때 사용자 계정이 존재하는지 확인하십시오.
나중에 계정 자격 증명을 업데이트 할 수도 있습니다. 기본 스 니펫은 다음과 같습니다.
private static final String TYPE_ACCOUNT = "com.some.package";
public static void addAccount(Context context, String username, String password, String token) {
AccountManager accountManager = AccountManager.get(context);
Account account = new Account(username, TYPE_ACCOUNT);
accountManager.addAccountExplicitly(account, password, null);
accountManager.setAuthToken(account, TYPE_ACCOUNT, token);
}
public static Account getUserAccount(Context context) {
AccountManager accountManager = AccountManager.get(context);
Account account = null;
try {
account = accountManager.getAccountsByType(TYPE_ACCOUNT)[0];
} catch (Exception ignored) {
}
return account;
}
이것이 최선의 방법입니까? 몇 가지 코드를 찾는 것보다 예를 들어 gmail이나 fb와 같은 주요 앱에 의해 구현 된 방법에 더 관심이 있습니다. – Prasanth
AccountManager를 사용하는 것이 안전하고 읽기 쉽고 유지 보수가 쉬운 코드를 제공하므로 모범 사례입니다. 귀하의 경우에는 그것을 사용할 수 있으며 AccountManager를 통해 사용자의 토큰을 확인할 수 있습니다. 추가, 제거 및 취소 작업을 구현하는 것은 매우 기본적이고, AccountManager를 사용하는 Google의 오픈 소스 프로젝트는 많지 않습니다. 방금 찾은이 https://github.com/google/iosched/blob/e8c61e7e23f74aa6786696dad22e5136b423a334/android/src/main/java/com/google/samples/apps/iosched/sync/account/Account.java – dgngulcan
실제로 AccountManager를 사용하고 있습니다. 모범 사례. 그러나 다른 표준 응용 프로그램이 정확히 어떻게하는지 알고 싶습니다. 그들은 AccountManager에 무엇을 저장합니까? 액세스 토큰 만? 그렇다면 만료 된 후에 어떻게 작동합니까? – Prasanth