2011-07-20 29 views
4

私はうまく動作するアンドロイドアプリを作った。私はそれにログイン機能を実装しました。誰でも、私はどのようにユーザーのログイン資格情報を格納するようにガイドすることができますので、ユーザーは彼/彼女がアプリケーションを起動するたびにログインする必要はありません。ログイン資格情報を保存するandroid

答えて

4

Here'sのAndroid開発者サイトからの例のこの種の共有プリファレンスを使用することができます。

public class Calc extends Activity { 
    public static final String PREFS_NAME = "MyPrefsFile"; 

    @Override 
    protected void onCreate(Bundle state){ 
     super.onCreate(state); 
     . . . 

     // Restore preferences 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     boolean silent = settings.getBoolean("silentMode", false); 
     setSilent(silent); 
    } 

    @Override 
    protected void onStop(){ 
     super.onStop(); 

     // We need an Editor object to make preference changes. 
     // All objects are from android.context.Context 
     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
     SharedPreferences.Editor editor = settings.edit(); 
     editor.putBoolean("silentMode", mSilentMode); 

     // Commit the edits! 
     editor.commit(); 
    } 
} 

私はShared Preferencesをお勧めしますが、そのページの他のオプションも見て、あなたのニーズに合っているかどうかを確認してください。

2

資格情報をsqliteデータベースに保存し、アプリを起動するたびにチェックしました。私のアプリケーションは、資格情報をクリアするログアウトボタンを持っています。

  1. dbテーブルが空白になって初めて、ログインフォームを提示
  2. ストアdbテーブルでログイン成功
  3. 終了アプリ
  4. スタートアプリログインの詳細が存在する場合は、再度
  5. チェック
  6. 利用できる場合は、straightaway開始または

再びログインをお願いデザインは、すべてのログインなどのログを維持するあなたの条件によって異なります

1

あなたはタスク

1

最も安全な方法は、おそらく実際にパスワードをローカルに保存する必要がないように、いくつかの「クッキー」メカニズムを実装することです。 (アプリケーションに利用可能な単純な安全なストレージがないため、ほとんどすべてがルートに公開されています)

さらに詳しい情報はAndroid Keychain for user credentialsを参照してください。

openidやoauthなどの既存のシステムを使用して、セキュリティについて心配する必要はないかもしれません。ログインとしてGoogleアカウントを使用できる場合は、this blogをご覧ください。

関連する問題