在Android中重新安装应用程序后检索设置

时间:2014-08-21 19:36:27

标签: android sqlite sharedpreferences uninstall

我有一个使用PreferenceManager保存一些设置的应用。稍后我卸载了应用程序,之后我想在重新安装相同的应用程序时检索相同的设置。 例如:我有一个复选框,其状态使用首选项管理器保存,然后卸载应用程序。稍后,当我重新安装应用程序时,我需要获取该复选框的状态。 这可能吗? 如果没有使用preferenceManager,还有其他方法可以做到这一点,即保存在DB中吗?

2 个答案:

答案 0 :(得分:0)

卸载应用后,不会保留SharedPreference和Database 话虽这么说,Android提供了一种简单的方法,可以将您的SharedPreferences发送到云,并在重新安装应用时检索它们。这种机制称为BackupAgentHelper

答案 1 :(得分:0)

您可以在外部存储中保留共享首选项的备份文件,并在再次安装应用程序时,可以从备份文件更新共享首选项。或者您可以使用BackupAgentHelper/SharedPreferenceBackupHelper将数据存储在云上。 但是对于SQLite,如果将数据库文件保存在不同的目录中,则卸载应用程序时Android不会删除这些文件。 对于SQLite数据库,您可以在SQLiteOpenHelper构造函数中设置数据库目录。假设您希望将路径设置为:

final static String DB_PATH = Environment.getExternalStorageDirectory().getAbsolutePath().concat("/databases/my_db.db");

然后在sqlite帮助器中将其设置如下:

public DbHelper(Context context, String name, CursorFactory factory,
        int version) {
    super(context, DB_PATH, factory, version);
}

同时,如果是SharedPreferences,您可以将文件从默认的应用程序数据目录复制到您在SD卡中选择的文件夹中。您需要注意这里,以便选择何时备份SharedPreferences文件的适当时机。作为IO操作,可能需要一些时间来完成。