Цитата:
|
Есть вариант создавать какой-то небольшой текстовый файлик при первом запуске приложения. А при последующих проверять его наличие. Если есть, значит ставится не с нуля
|
Проще и надежнее в SO писать. Только это все равно не поможет.
Вот три стадии:
1. Первая установка. Читаем в SO null, проверяем наличие обоих файлов в БД. Все чисто - копируем оба файла в хранилище. Пишем в SO true.
2. Обычное использование. Читаем что в SO - true, поэтому файлы не трогаем.
3. Выходит апдейт, нужно для тех юзеров у которых приложение уже стояло поменять main и не трогать user, а для тех у кого не стояло, поменять оба файла. Юзер обновляет приложение. Читаем что в SO - true и main у нас не обновляется. Фейл.
А теперь решение! Только сейчас дотукался

Все очень просто.
1. Первая установка. Читаем в SO null, проверяем наличие обоих файлов в БД. Все чисто - копируем оба файла в хранилище. Пишем в SO
versionNumber см. ниже код.
2. Обычное использование. Читаем что в SO versionNumber == var version, поэтому файлы не трогаем. Ну на всякий случай проверяем наличие, вдруг юзер их жестко удалил - тогда копируем.
3. Выходит апдейт. Юзер обновляет приложение. Читаем что в SO versionNumber != var version - поэтому заменяем main. Так как SO != null, то user.db не переписываем. Переписываем SO на новое значение versionNumber.
PROFFIT!

Код AS3:
var xml : XML = NativeApplication.nativeApplication.applicationDescriptor;
var ns : Namespace = xml.namespace();
var version : String = xml.ns::versionNumber;
Для справки versionNumber обязательно должно обновляться в сторону повышения. иначе просто стор не пустит.