Актуализиране на приложението за Android без загуба на данни

Аз съм нов в разработването на Android, така че се опитвам да направя приложение, което съхранява информация за склад. Опасявам се обаче, че ако извърша актуализация, потребителските данни ще се загубят. Трябва ли да управлявам кои данни да останат непроменени при актуализиране?

Освен това бих искал да знам дали ще има някаква разлика да използвам сериализиращ се клас или да използвам SQL база данни, ако искам да запазя данните в безопасност.

Благодаря много :)


person kickingnico    schedule 04.07.2015    source източник
comment
Можете да компресирате данните и да ги качите в облака, по-късно да синхронизирате и реконструирате данните отново.   -  person Prokash Sarkar    schedule 04.07.2015


Отговори (3)


Когато актуализирате приложението, SharedPreferences и SQLite няма да загубят данни. Така че можете да съхранявате данни там. Или можете да съхранявате данни във външно хранилище или на отдалечен сървър.

Според раздел 2 в тази статия, сериализираният клас не е безопасен, ако искате да запазите данните в безопасност, тогава можете да се обърнете към тази публикация за повече информация. Има някои инструменти, които могат да шифроват вашата база данни, но е за предпочитане да шифровате данните си, преди да ги вмъкнете в базата данни.

person PageNotFound    schedule 05.07.2015

1) Никакви данни няма да бъдат загубени по време на надграждане, само когато деинсталирате приложението. Но бъдете много внимателни, ако промените формата на данните между версиите, ще трябва да приложите някакъв код за миграция.

2) SQLite данните са безопасни при надстройки, включително системни надстройки на Android. Serializable обаче не е. Никога не използвайте Serializable за надеждно запазване на данните в дългосрочен план. Използвайте нещо като JSON, XML или протоколни буфери, за да сериализирате вашите обекти.

person BladeCoder    schedule 05.07.2015

Ако сървърното пространство не е опция, бих предложил да използвате SharedPreferences. Докато името на вашия пакет не се промени, всичките ви данни ще продължат да съществуват след актуализация.

person Zack Matthews    schedule 05.07.2015