Androidでのデータストア---選好設定

3673 ワード

好み設定もAndroidのデータ格納方式の一つで、キー値ペアの形でデータを格納しています.比較的小型のデータを格納するために使われています.私たちは実際の開発では、よく使われています.また、ユーザーは普段の使用でも、使い続けています.好み設定は便利です.
設定
Androidの開発者として、好みの設定を知らないわけにはいきません.小さなデータに対して、キー値のペアで保存されているデータについて、ユーザーがwifiを開くかどうか、ユーザーが設定したフォントを開くかどうかなどの情報を保存するために、好みの設定を採用することができます.ユーザが最初の設定後に再設定する必要がない場合、設定が煩わしいと感じさせます.次に、小さな例で簡単に紹介します.例えば、私たちが初めてログインした後、次のクリックでログインする必要がなく、メインインタフェース(QQや微信のような)に直接アクセスすることができます.
好み設定ファイルは/data/data//shared_に保存されます.prefs/ディレクトリでは、アプリケーションをアンインストールすると、アンインストールに伴ってデータが削除されます.
説明:このソフトウェアを開くと、まず1.5秒のウェルカムインタフェースに入り、ユーザーがログインしていない場合、ログインインタフェースにジャンプし、ユーザーがログインした後、直接メインインタフェースにジャンプします.
ウェルカムインタフェースの好み設定記録
    //     ,                     
    SharedPreferences sp = getSharedPreferences("login", MODE_PRIVATE) ;
    boolean isLogin = sp.getBoolean("isLogin", true) ;
    final Class extends Activity> clz ;

    if(isLogin) {
        clz = LoginActivity.class ;
    } else {
        clz = MainActivity.class ;
    }

    handler = new Handler() ;
    //          
    delayMillis = 1500 ;
    //   1.5s     
    handler.postDelayed(new Runnable() {

        @Override
        public void run() {

            Intent intent = new Intent(WelcomeActivity.this, clz) ;
            startActivity(intent) ;
            finish() ;

        }
    }, delayMillis) ;

新しい好みの設定ファイル、ファイル名は“login”で、私達は自分で拡張子を追加する必要はなくて、システムはデフォルトで私達にプラスします.xml拡張子の、後のモードはプライベートを選択し、このケースは独自で、他のプロセスはアクセスできません.
SharedPreferences sp = getSharedPreferences("login", MODE_PRIVATE) ;

以上のコードでは、boolean型の変数を設定することでログインしたかどうかを記録し、設定ファイルを選択してデータを読み取り、ログインしていない場合は値が取れず、後でtrueをデフォルトにします.
boolean isLogin = sp.getBoolean("isLogin", true) ;

残りはいくつかのインタフェースのジャンプの論理で、これはみんなが理解できると信じて、ここではあまり説明しません;
ログインインタフェースの設定
//     ,      ,           
SharedPreferences sp = getSharedPreferences("login", MODE_PRIVATE) ;
Editor loginEditor = sp.edit() ;
loginEditor.putBoolean("isLogin", false) ;
loginEditor.commit() ;

ユーザーのログインインタフェースの設定で、ユーザーがログインに成功した後、ユーザーがログインしたことを優先設定で記録し、ウェルカムインタフェースに新しい優先設定ファイルを取得し、エディタオブジェクト(Editor-sp.edit()を新規作成し、優先設定の属性値を設定します.ここでは「islogin」をfalseに設定します.次回の起動にはログインインタフェースに入る必要はありません.設定が終わったら、必ず設定を提出することを覚えておいてください.そうしないと、さっきの設定は無駄に設定され、前にも読めません.
このようにして完了すると、開始時の機能を実現します.ここでは簡単に説明します.まず、優先設定オブジェクトを新規作成し、対応するデータを格納するための優先設定ファイルを作成し、優先設定ファイルの変数値を読み取ることで、ログインインタフェースを起動する必要があるかどうかを判断します.
私たちはログイン後、loginEditorを通じてputBoolean(「isLogin」,false)このステップでは、お気に入り設定ファイルの「isLogin」という値をfalseに設定し、ウェルカムインタフェースでboolean isLogin=sp.getBoolean(「isLogin」,true)で「isLogin」の値を取得することで、この設定を転送します.
好み設定ファイルに格納されているのは、実は「isLogin」–true(false)という形式です.