繁体   English   中英

Android:单独第一次打开应用程序时执行任务?

[英]Android : Perform a task while application opened for first time alone?

我需要在安装后第一次运行应用程序时创建数据库表。 那么如何在安装应用程序时第一次运行应用程序的运行状态? 我听说过SharedPreferences但不熟悉它。 任何代码帮助表示赞赏,并提前感谢...

SQLiteOpenHelper有一个onCreate方法,如果数据库不存在并且需要首次创建,则会调用该方法。

使用此选项可以使用表中所需的任何数据创建和初始化数据库。

如果您尝试在应用程序首次运行时在数据库中插入值,则可以在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将为您创建数据库,您无需自己创建它!

我通过参考以下代码解决了:

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();`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM