Я пытаюсь создать приложение, которое сохраняет имя пользователя и номер контакта с помощью общих настроек.Проблема, с которой я сталкиваюсь, заключается в том, что, когда я пытаюсь добавить в нее новую запись, предыдущая перезаписывается, и я застреваю, когда чувствую, как справиться с этой проблемой.Я пробовал 2-3 решения, найденные на Stack Overflow, и ни одно из них не помогло.Пожалуйста, избегайте комментированного кода, так как я пытаюсь сделать еще больше.
Это действие, где я получаю входные данные от пользователя и сохраняю их в общих настройках
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.insert_button:
String NAME = name.getText().toString();
// String CITY = city.getText().toString();
// String EMAIL = email.getText().toString();
String CONTACT = contact.getText().toString();
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(nameKey , NAME);
// editor.putString(emailKey, EMAIL);
// editor.putString(cityKey, CITY);
editor.putString(contactKey, CONTACT);
editor.commit();
Toast.makeText(this, "Data Inserted Successfully", Toast.LENGTH_SHORT).show();
Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(500);
name.setText("");
// email.setText("");
// city.setText("");
contact.setText("");
break;
case R.id.view_button:
sharedPreferences = getSharedPreferences(mainKey, MODE_PRIVATE);
if (sharedPreferences.contains(nameKey)) {
name.setText(sharedPreferences.getString(nameKey, "Default Name"));
}
/*
if (sharedPreferences.contains(emailKey)) {
email.setText(sharedPreferences.getString(emailKey, "Default Email"));
}
if (sharedPreferences.contains(cityKey)) {
city.setText(sharedPreferences.getString(cityKey, "Default City"));
} */
if (sharedPreferences.contains(contactKey)) {
contact.setText(sharedPreferences.getString(contactKey, "Default Contact"));
}
break;
case R.id.home_button:
Intent intent = new Intent(getApplicationContext(), Home_Activity.class);
startActivity(intent);
finish();
break;
}
}
И яЯ обращаюсь к нему в другой деятельности.
public void onClick(View view) {
sharedPreferences = getSharedPreferences(mainKey, MODE_PRIVATE);
if (sharedPreferences.contains(nameKey)) {
name_tv.setText(sharedPreferences.getString(nameKey, "Default Name"));
}
/*
if (sharedPreferences.contains(emailKey)) {
email_tv.setText(sharedPreferences.getString(emailKey, "Default Email"));
}
if (sharedPreferences.contains(cityKey)) {
city_tv.setText(sharedPreferences.getString(cityKey, "Default City"));
}*/
if (sharedPreferences.contains(contactKey)) {
contact_tv.setText(sharedPreferences.getString(contactKey, "Default Contact"));
}
Toast.makeText(Home_Activity.this, "Recent Value Shown..!!", Toast.LENGTH_SHORT).show();
}
});
Теперь мне нужно зациклить новые вставленные данные в name_tv и contact_tv, но данные перезаписываются.Можете ли вы, ребята, помочь ..?Пожалуйста, предложите мне оптимальный способ .. !!