java - 当应用程序从Play商店强制更新时,如何保持Android应用程序始终处于登录状态?

标签 java android

现在我正在尝试创建一个 Android 应用程序。我想要的是,我在手机上登录了该应用程序,每当我从游戏商店获得该应用程序的更新时,它都应该始终登录。我如何在 SharedPreferenceRealmDB 中创建它。

任何建议都会对我有帮助。

谢谢

最佳答案

首先,创建 Preferences.java(帮助程序):

package ru.str.proglot.visitor.helpers;

import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;

public class Preferences {


    @SuppressWarnings("unchecked")
    public static <T> T getValue(Context context, String key, T defaultValue) {
        SharedPreferences sPref = PreferenceManager.getDefaultSharedPreferences(context);
        T resultValue = null;

        if (defaultValue instanceof Boolean)
            resultValue = (T) Boolean.valueOf(sPref.getBoolean(key, (Boolean) defaultValue));
        else if (defaultValue instanceof Float)
            resultValue = (T) Float.valueOf(sPref.getFloat(key, (Float) defaultValue));
        else if (defaultValue instanceof Integer)
            resultValue = (T) Integer.valueOf(sPref.getInt(key, (Integer) defaultValue));
        else if (defaultValue instanceof Long)
            resultValue = (T) Long.valueOf(sPref.getLong(key, (Long) defaultValue));
        else if (defaultValue instanceof String)
            resultValue = (T) sPref.getString(key, (String) defaultValue);

        return resultValue;
    }

    public static <T> void setValue(Context context, String key, T value) {
        SharedPreferences sPref = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.Editor editor = sPref.edit();

        if (value instanceof Boolean)
            editor.putBoolean(key, (Boolean) value);
        else if (value instanceof Float)
            editor.putFloat(key, (Float) value);
        else if (value instanceof Integer)
            editor.putInt(key, (Integer) value);
        else if (value instanceof Long)
            editor.putLong(key, (Long) value);
        else if (value instanceof String)
            editor.putString(key, (String) value);

        editor.apply();
    }

    public static void remove(Context context, String key) {
        PreferenceManager.getDefaultSharedPreferences(context).edit().remove(key).apply();
    }

    public static void clear(Context context ) {
        PreferenceManager.getDefaultSharedPreferences(context).edit().clear().apply();
    }



}

接下来,从任何地方保存信息:

Preferences.setValue(this, "name", "Ivan");

并获取值(value):

Preferences.getValue(this, "name", "");

关于java - 当应用程序从Play商店强制更新时,如何保持Android应用程序始终处于登录状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58723765/

相关文章:

java - 在 Tomcat 服务器上自动启动 Spring Boot 应用程序

java - 在包 'orientaton' Activity_main.xml 中找不到属性 'android' 的资源标识符

android - 更新ADT后,测试应用程序(phonegap)无法运行

java - 安卓AVD “Unfortunately, <app> has stopped.”

java - Spring MVC 中的语言环境

javascript - 非法 base64 字符

java - 我的 API REST 和我的网站/脚本之间的安全连接

java - 如何确定 BufferedReader 的确切状态?

android - android中的谷歌浏览器动画效果

javascript - react native : elevation (shadow) and transparency on button don't work together as needed