Я создаю приложение камеры. Я пытаюсь сохранить некоторую информацию, используя SharedPreferences.
Я хочу сохранить некоторую постоянную информацию - последнее изображение, снятое в filepath. Но при первом использовании приложения перед съемкой данные будут иметь значение NULL.
Так что я хочу получить getSharedPreferences в onCreate и проверить, является ли значение нулевым. Но, насколько мне известно, единственный способ использовать getSharedPreferences - это только если вы ранее вызывали команду «Редактор». Следовательно, я получаю исключение NULL-указателя на объекте SharedPreferences в первый раз.
Как вы решаете это?
</p>
<pre><code> //inside on Create()
imageData = getSharedPreferences("ImageData",MODE_PRIVATE);
SharedPreferences.Editor prefEditor = imageData.edit();
prefEditor.commit();
String previousImage = imageData.getString("lastImageTaken", null);
if(previousImage == null){
Log.d(TAG,"previous image is NULL");
}
else{
//do something with the filepath
}
//-----------------------
//in onClick of capture button
imageData = getSharedPreferences("ImageData",MODE_PRIVATE);
SharedPreferences.Editor prefEditor = imageData.edit();
prefEditor.putString("lastImageTaken", MyActivity.this.pictureFilePath);
prefEditor.commit();