Мне нужно установить некоторые значения для связанных с ними постоянно сохраненных данных, если они существуют, при инициализации. Если нет, мне нужно их инициализировать. Есть ли недостаток в использовании SharedPreference для инициализации переменной при первом запуске. То есть, что-то вроде этого:Android с использованием переменной в первый раз
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences sp = getSharedPreferences("MyDataName", Context.MODE_PRIVATE);
String name = sp.getString("name", "");
boolean isFirstRunning = sp.getBoolean("firstTime", true);
if (isFirstRunning) {
Toast.makeText(this, "YEA", Toast.LENGTH_LONG).show();
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean("firstTime", false);
editor.commit();
}
}
Если нет недостатков от уровня обработки, существует стандартная практика, насколько эта ситуация касается? Кроме того, есть ли альтернативный способ обработки постоянных данных или нам нужно использовать SharedPreferences для этого?
уверен, что это легко и быстро кодирование ... – Opiatefuchs
Не знаю, почему у вас есть голосующий голос за этот вопрос. Является ли это хорошей идеей, действительно зависит от вашего прецедента. Если вам действительно нужно знать, если ваш код когда-либо достиг этой конкретной функции onCreate() (или создал это действие), я не понимаю, почему ваше решение является «плохим» per se. – kha
Это ни хорошо, ни плохо. –