我需要在安装后第一次运行应用程序时创建数据库表。那么如何在安装应用程序时第一次运行应用程序的运行状态?我听说过SharedPreferences但不熟悉它。任何代码帮助都表示赞赏,并提前感谢...
答案 0 :(得分:3)
SQLiteOpenHelper有一个onCreate方法,如果数据库不存在并且需要首次创建,则会调用该方法。
使用此选项可以使用表格中所需的任何数据创建和初始化数据库。
答案 1 :(得分:1)
如果您尝试在首次运行的应用程序中的数据库中插入值,则可以在sharedPref中放置一个值,如下所示:
private static void SaveBooleanPreferences(String key, boolean value, Context context){
SharedPreferences sharedPreferences = context.getSharedPreferences(PREFS_NAME,0);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(key, value);
editor.commit();
}
private static boolean getBooleanPreferences(String key, Context context){
SharedPreferences sharedPreferences = context.getSharedPreferences(PREFS_NAME,0);
return sharedPreferences.getBoolean(key, false);
}
在检测到第一次运行的值后尝试插入数据库,Android OS将为您创建数据库,无需自己创建!
答案 2 :(得分:1)
我通过参考以下代码解决了这个问题:
SharedPreferences prefs = getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
boolean haveWeShownPreferences = prefs.getBoolean("HaveShownPrefs", false);
if (!haveWeShownPreferences)
{
// launch the preferences activity
}
else
{
// we have already shown the preferences activity before
}
SharedPreferences prefs1 = getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);
SharedPreferences.Editor ed = prefs1.edit();
ed.putBoolean("HaveShownPrefs", true);
ed.commit();`