android在设备上保存非常小的数据的最佳方式

在我的应用程序启动活动中,每次启动应用程序时我都需要检查三件事

  1. 应用版本

  2. 是用户登录

  3. 是否创建了用户帐户

我使用Firebase作为数据库,所以每次使用启动应用程序时,我都会在Datachange上检查数据库,然后根据返回结果和案例区域将用户发送到活动,如下所示:

//check if newer version is available (Step 1)

if (appVersionMatch) {

    CheckLogin();

} else {

    //Take user to appstore for app update

}



// (Step 2)

public void CheckLogin() {

    if (userLogin) {

        CheckUserExist()

    } else {

        //Show user Login activity

    }

}



// (Step 3)

public void CheckUserExist() {

    if (user.exist()) {

        //Go To main Activity

    } else {

        //Go To Register activity

    }

}

这个流程工作正常,但检查所有这三件事总是需要一些时间。我尝试使用以下方法更快但没有按预期工作:


 SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);

                    editor = pref.edit();

                    boolean isLoogenIn = pref.getBoolean("userLoginCheck", false);


芜湖不芜
浏览 154回答 2
2回答

杨魅力

这是我使用SharedPreferences.首先创建一个单独的类(我用它来保存其他信息,如 url、常量等)在其中创建一个SharedPreferences.public class project_constants {private static String PREF_NAME = "project_pref";private static SharedPreferences getPrefs(Context context) {    return context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);}public static boolean getUserLogin(Context context) {    return getPrefs(context).getBoolean("login", false);}public static void setUserLogin(Context context, boolean input) {    SharedPreferences.Editor editor = getPrefs(context).edit();    editor.putBoolean("login", input);    editor.apply();}现在,当用户登录时,您应该使用project_constants.setuserLogin(getApplicationContext,True);.现在,当您要检查用户是否已登录时,可以使用project_constants.getuserLogin(getApplicationContext);,如果是,则用户已登录,否则为否。

不负相思意

第一次,当数据从 firebase 准备好时,您应该将数据保存在 SharedPreference 中:SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE);editor = pref.edit();editor.putBoolean("userLoginCheck", false);editor.commit();然后您可以通过以下方式获得下次的偏好值: boolean isLoogenIn = pref.getBoolean("userLoginCheck", true);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java