1

共有設定アクティビティを作成し、2 つの文字列を保存しました...

    public class sharedprefs extends Activity {


    EditText email;
    EditText lozinka;
    Button btnEmail;
    Button btnLozinka;
    Button btnPovratak;
    TextView email2; 
    TextView lozinka2;


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sharedpref);

        email2 = (TextView)findViewById(R.id.textView4);
        lozinka2 = (TextView)findViewById(R.id.textView5);

        email = (EditText)findViewById(R.id.editText1);
        lozinka = (EditText)findViewById(R.id.editText2);

        btnEmail = (Button) findViewById(R.id.button1);
        btnLozinka = (Button) findViewById(R.id.button2);
        btnPovratak = (Button) findViewById(R.id.button3);

        LoadPreferences();

        btnEmail.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {   

                SavePreferences("EMAIL", email.getText().toString());
                LoadPreferences();  


            }
        });

        btnLozinka.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {   

                SavePreferences("LOZINKA", lozinka.getText().toString());
                LoadPreferences();


            }
        });

        btnPovratak.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {   

                finish();


            }
        });
    }

    private void SavePreferences(String key, String value){
        SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putString(key, value);
        editor.commit();
       }

       private void LoadPreferences(){
        SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
        String stremail = sharedPreferences.getString("EMAIL", "");
        String strlozinka = sharedPreferences.getString("LOZINKA", "");
        email2.setText(stremail);
        lozinka2.setText(strlozinka);
       }


}

私はそれをテストし、テキストビューで表示しました...アプリを終了して再起動しても、それらはまだ表示されています。ここで、メイン アクティビティで httpClient を使用するために、この 2 つの文字列が必要です。問題は、メインアクティビティでそれらをロードする方法がわからないことです.これが機能するために何をする必要がありますか(メインアクティビティで宣言する)??

4

2 に答える 2

3

複数のアクティビティで SharedPreferences を処理する方法については、Android Developers ドキュメントの手順を確認してください。これは別の回答でも取り上げられています

SharedPreferences にアクセスするための推奨される方法は次のとおりです。

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);

あなたの場合、次のように書くことができます:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

これは、PreferenceActivity と通常のメイン アクティビティの両方で機能します。

于 2012-09-27T01:02:28.710 に答える
2

Main Activity (または、この SharedPreference が必要な他のアクティビティでコーディングする必要がある同じメソッド LoadPreferences() を呼び出す必要があります。

private void LoadPreferences()
{
        SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
        String stremail = sharedPreferences.getString("EMAIL", "");
        String strlozinka = sharedPreferences.getString("LOZINKA", "");
        // Strings variable are ready with the values, you can assign them to other component if you want
}
于 2012-09-27T00:44:49.867 に答える