Android. Внутренняя память. Данные появляются снова после переустановки

109
19 января 2019, 11:40

У меня есть небольшая структура (из 6 текстовых полей примерно + дата), есть база которая содержит эти структуры. База сохраняется и загружается из файла.

Загрузка из файла:

final String BASE_FILE_NAME = "list_model_base";
FileInputStream inStream = openFileInput(BASE_FILE_NAME);
Log.d("LOG_STI","inStream.available(): "+inStream.available());
ObjectInputStream objectInputStream = new ObjectInputStream(inStream);
boolean noError = true;
while (noError)
{
        ListModelItem tempItem = new ListModelItem();
        noError = tempItem.readFromStream(objectInputStream);
        if (noError)
            items.add(tempItem);
}
objectInputStream.close();
inStream.close();

Проблема в том, что с каких-то пор, в файле (BASE_FILE_NAME) постоянно содержится набор данных из 4 записей. После удаления и установки приложения, там уже есть данные. Я добавляю новые записи, они сохраняются, но если удалить приложение, то в файле снова 4 записи.

В примере кода есть вывод лога:

Log.d("LOG_STI","inStream.available(): "+inStream.available());

После установки, я вижу в логах:

inStream.available(): 632

Это те 4 записи. Добавляю еще пару записей. Лог:

inStream.available(): 890

Открываю настройки, Приложения, выбираю свое приложение, Очистить Всё.

Запускаю:

inStream.available(): 4

Записей нет.

Настройки, Очистить всё. Удаляю приложение не запуская, устанавливаю его:

inStream.available(): 632

Опять те же 4 записи, как будто они установились вместе с приложением...

Что это за чудеса или я чего-то не понимаю?

READ ALSO
Подсветка цифр в массиве

Подсветка цифр в массиве

У меня имеется массив чисел от 0 до 100 с повторениямиДлина массива N>100, например

126
Как передать данные между классами в Java [закрыт]

Как передать данные между классами в Java [закрыт]

Пробую писать программу на Java и столкнулся со следующей проблемой: у меня есть массив данных, который я генерирую в классе1, его нужно передать...

146
Выстроить блок в линию с переносом

Выстроить блок в линию с переносом

Как сделать, чтобы все дочерние элементы block были бы в одну строку, а если они не помещаются по ширине, то переносились бы на следующую, но не каким-то...

156
Порядок выполнения needle

Порядок выполнения needle

Помогите пожалуйста с порядком выполненияНе могу понять, как сделать порядок выполнения

159