我有一个应用程序(设计为离线工作),其中大量条目存储在数据库中,用户输入的值存储在数据库中一列中的每个条目中。用户在使用应用程序时只修改这些值。
但是当我推送应用程序更新时,用户会丢失他输入的所有值。我该如何解决这个问题?(我还希望数据库对 Android 应用程序是私有的)。
我有一个应用程序(设计为离线工作),其中大量条目存储在数据库中,用户输入的值存储在数据库中一列中的每个条目中。用户在使用应用程序时只修改这些值。
但是当我推送应用程序更新时,用户会丢失他输入的所有值。我该如何解决这个问题?(我还希望数据库对 Android 应用程序是私有的)。
您可以像这样创建一个数据库:
/**
* Open the test database. If it cannot be opened, try to create a new
* instance of the database. If it cannot be created, throw an exception to
* signal the failure
*
* @return this (self reference, allowing this to be chained in an
* initialization call)
* @throws SQLException
* if the database could be neither opened or created
*/
public TestDBAdapter open() throws SQLException {
mDbHelper = new DatabaseHelper(mCtx);
mDb = mDbHelper.getWritableDatabase();
dbVersionWebiDBAdapter = mDbHelper.dbVersion;
return this;
}
这非常有效,任何更新都可以获取数据。您还可以使用某种数据库版本控制,以便您可以轻松地使用新的更新来更新数据库。
只有当用户进入设置菜单并在那里卸载应用程序或数据时,才会删除此数据库。应用程序的更新负载将保留数据库。