В моем приложении у меня есть список объектов, которые хранятся вместе с FileOutputStream в коде ниже. Кроме того, у меня есть настройки в моем приложении, хранящиеся в SharedPreferences. Всякий раз, когда я впервые обновляю свое приложение в магазине Google Play (для тех, кто не знаком с процессом, я загружаю новый APK), все объекты были удалены для всех, кто использует приложение, и все настройки, установленные по умолчанию. Почему он это сделал и как я могу хранить объекты там, где они не исчезают после обновления?Почему обновления Android для моего приложения удаляются?
public ObjectStorage readListFromFile()
{
ObjectStorage temp = null;
String filename = "storefileobj";
FileInputStream fis;
try {
fis = getActivity().openFileInput(filename);
ObjectInputStream is = new ObjectInputStream(fis);
temp = (ObjectStorage) is.readObject();
is.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (StreamCorruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return temp;
}
public void updateStorage()
{
String filename = "storefileobj";
FileOutputStream fos;
try {
fos = getActivity().openFileOutput(filename, Context.MODE_PRIVATE);
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(mainObjectList);
os.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Одна вещь, которую я знаю, из-за того, что пользователям не требуется переустанавливать. Поэтому я предполагаю, что это означает, что формат данных должен был измениться? Потому что я не касался кода до хранения данных. – AggieDev