ともちゃんのアプリ開発日記

組込みC言語プログラマだったともちゃんが、四苦八苦しながら、AndroidのJAVA/Kotlin、iOSのSwiftUIを習得して行きます。ともちゃんの備忘録も兼ねています。

プリファレンスにデータを設定する

EditTextのデータを、プリファレンスに設定する例です。

EditText edTextSettingName = (EditText) findViewById(R.id.editTextSettingName);
String SettingName = edTextSettingName.getText().toString();

EditText edTextMailAddress = (EditText) findViewById(R.id.editTextMailAddress);
String MailAddress = edTextMailAddress.getText().toString();

EditText edTextSubject = (EditText) findViewById(R.id.editTextSubject);
String Subject = edTextSubject.getText().toString();

EditText edTextMailText = (EditText) findViewById(R.id.editTextMailText);
String MailText = edTextMailText.getText().toString();

SharedPreferences prefs = getSharedPreferences("MailSetting01Activity", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("setting_name",SettingName);
editor.putString("mail_address",MailAddress);
editor.putString("subject",Subject);
editor.putString("mail_text",MailText);

editor.apply();

 

最後のEditor.Apply()は、Editor.Commit()でもいいです。  

 

以下は、プリファレンスのデータを、EditTextに設定する例です。

 

SharedPreferences prefs = this.getSharedPreferences("MailSetting01Activity", Context.MODE_PRIVATE);
Resources res = getResources();
String SettingName = prefs.getString("setting_name", res.getString(R.string.default_01_setting_name));
String MailAddress = prefs.getString("mail_address", res.getString(R.string.default_01_mail_address));
String Subject = prefs.getString("subject", res.getString(R.string.default_01_subject));
String MailText = prefs.getString("mail_text", res.getString(R.string.default_01_text));

EditText edTextSettingName = (EditText) findViewById(R.id.editTextSettingName);
edTextSettingName.setText(SettingName);

EditText edTextMailAddress = (EditText) findViewById(R.id.editTextMailAddress);
edTextMailAddress.setText(MailAddress);

EditText edTextSubject = (EditText) findViewById(R.id.editTextSubject);
edTextSubject.setText(Subject);

EditText edTextMailText = (EditText) findViewById(R.id.editTextMailText);
edTextMailText.setText(MailText);