ユーザーの認証を必要とするAndroidアプリを作成しようとしています(REST Webサービスを介して)。アプリには複数のアクティビティと画面があり、すべてユーザーがログインする必要があります。ログインすると、ユーザーはWebサイトの投稿を追加および編集できます。
「ConnectionManager」シングルトン内でAndroidHttpクライアントを使用することが、それを行うための最良の方法であることを読みました。ただし、ユーザーの詳細(ユーザー名、パスワード)はどこに保存しますか?これはシングルトンになりますか?ユーザーが何かを編集/追加しようとするたびに認証する必要がありますか?
私はこのようなクラスを持っている必要があります:
public class ConnectionManager {
private static ConnectionManager instance = null;
private AndroidHttpClient client;
private ConnectionManager() {
client = AndroidHttpClient.newInstance("Android-Connection-Manager");
}
public static ConnectionManager getInstance() {
if( instance == null ) {
instance = new ConnectionManager();
}
return instance;
}
public void authenticate(String username, String password) {
//Check for authentication here
}
}
ユーザーが何かをするたびに、以下のコードを呼び出します。
private static ConnectionManager conn = ConnectionManager.getInstance();
conn.authenticate();
また
ユーザーの詳細をシングルトンに保存する必要があります
public class ConnectionManager {
private static ConnectionManager instance = null;
private AndroidHttpClient client;
private AppUser mLoggedInUser;
private boolean mAuthenticated;
private ConnectionManager() {
client = AndroidHttpClient.newInstance("Android-Connection-Manager");
}
public static ConnectionManager getInstance() {
if( instance == null ) {
instance = new ConnectionManager();
}
return instance;
}
public void InitialiseUser(String username, String password) {
//Do login checks here then return true if logged in
mAuthenticated = true;
}
public boolean isAuthenticated() {
return mAuthenticated;
}
}