Привет Я пытаюсь написать код для постоянных/общих настроек. Я успешно сохраняю данные в хранилище постоянного хранения. Но каждый раз, когда я запускаю свое приложение, он принимает меня на хранение. У меня есть два основных вида деятельности и вторая деятельность. В основном я сохраняю данные, а второй - показываю сохраненные данные. То, что я хочу здесь, - это когда данные хранятся в первый раз, когда они должны непосредственно переходить к второму действию. Я хочу добиться чего-то вроде процесса регистрации watsapp, вы впервые вводите свой номер и контакт и никогда не запрашиваете его, пока не удалите приложение или не очистите вручную данные. как я могу это сделать. Ниже приведен код, который я попробовал.persistance/shared storage in android
public class MainActivity extends Activity {
public static final String PREFS_NAME = "MSISDN and PIN";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
int id = settings.getInt("PREFS_NAME", 0);
if (id > 0) {
Intent second = new Intent(getApplicationContext(), seond.class);
startActivity(second);
}
final EditText name = (EditText) findViewById(R.id.editText1);
final EditText email = (EditText) findViewById(R.id.editText2);
Button btn = (Button) findViewById(R.id.btnsaveprefs);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = settings.edit();
editor.putString("MSISDN", name.getText().toString());
editor.putString("PIN", email.getText().toString());
editor.commit();
Intent second = new Intent(getApplicationContext(), seond.class);
startActivity(second);
}
});
}
}
и вторая активность у меня есть
public class seond extends Activity {
public static final String PREFS_NAME = "MSISDN and PIN";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
TextView tvname = (TextView) findViewById(R.id.uname);
TextView tvemail = (TextView) findViewById(R.id.uemail);
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
tvname.setText(settings.getString("MSISDN", "Unknown"));
tvemail.setText(settings.getString("PIN", "Email default"));
}
}
где вы задаете имя прив. на котором вы проверяете, если условие –
@nitesh goel проверить отредактированный вопрос –
где вы устанавливаете PREFS_NAME ?? –