2016-10-09 17 views
0

、私はedittextを通してメールを受け取ります。あなたが必要とする、まずactivitypreferences(emailpreferences)の値を保存してsharedpreferencesから取得する方法

public class MainActivity extends AppCompatActivity { 

Text name; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    SharedPreferences sharedPreferences = PreferenceManager 
      .getDefaultSharedPreferences(getApplicationContext()); 
    String name = sharedPreferences.getString(Email, "email"); 
    Toast.makeText(this,name, Toast.LENGTH_LONG).show(); 
} 
} 

答えて

1

public static final String MyPREFERENCES = "MyPref"; 
public static final String Email = "emailkey"; 
SharedPreferences sharedPreferences; 


protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.emailpreferences); 

    edit1=(EditText)findViewById(R.id.editText); 
    buttonpref=(Button)findViewById(R.id.button); 

    sharedPreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 

    buttonpref.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      String email = edit1.getText().toString(); 

      SharedPreferences.Editor editor = sharedPreferences.edit(); 

      editor.putString(Email, email); 

しかし、次が行われたときに電子メールが取得されていない:私はこれが私のコードでアプリケーションをreopenning

にもう一度、この電子メールを使用したいですキーを値に割り当てるためにエディタでコミットまたは適用コマンドを実行します。

SharedPreferences.Editor editor = sharedPreferences.edit(); 
editor.putString(Email, email); 
editor.commit(); //or editor.apply(); 

PreferenceManagerSharedPreferenceは異なっています。それらを読んでください。この方法で値を取得します。私はユーティリティクラスを作成し、そのsharedPreferencesを格納し、retreivingのための目的球を作成することをお勧めします

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 
String savedEmail = preferences.getString(Email, "email"); 

:この使用を取得するには

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); 
SharedPreferences.Editor editor = preferences.edit(); 
editor.putString(Email, email); 
editor.apply(); 

:これを使用するストアに

SharedPreferences sharedPreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 
String name = sharedPreferences.getString(Email, "email"); 
+0

最後に、1つのアクティビティから別のアクティビティにメールを保存できます。ヒントをお寄せいただきありがとうございます。 – stefan

+0

ようこそ:)、答えを正しいとマークしてください。 (回答の左にある投票ボタンの下に目盛りがあります) – suku

0

この定型文を何度も書く必要はありません。

関連する問題