Android App Updating Without Losing Data

2020-04-05 08:15发布

I'm new to Android development, so I'm trying to do an app that stores information about a warehouse. However, I'm afraid that if I perform an update, the user data will get lost. Do I have to manage which data should remain unchanged upon updating?

Also, I would like to know if it would make any difference to use a serializable class or to use an SQL database if I want to keep the data safe.

Thanks a lot :)

3条回答
Emotional °昔
2楼-- · 2020-04-05 09:01

When you update the app, SharedPreferences and SQLite will not lose data. So you can store data there. Or you can store data in external storage or in remote server.

According to section 2 in this article, the serialize class is not safe, if you want to keep the data safe, then you can refer this post for more information. There are some tools that can cipher your database, but it is preferred to cipher your data before inserting into the database.

查看更多
混吃等死
3楼-- · 2020-04-05 09:14

If server space isn't an option I would suggest using SharedPreferences. So long as your package name doesn't change all of your data will persist beyond an update.

查看更多
地球回转人心会变
4楼-- · 2020-04-05 09:15

1) No data will be lost during an upgrade, only when you uninstall the app. But be very careful if you change the data format between versions, you'll have to implement some migration code.

2) SQLite data is safe across upgrades, including Android system upgrades. However, Serializable is not. Never use Serializable to persist data reliably in the long term. Use something like JSON, XML or protocol buffers to serialize your objects.

查看更多
登录 后发表回答