Android简单的读/写数据方式

时间:2016-09-23 09:23:33

标签: android sharedpreferences

所以我刚开始使用JAVA,我一直在尝试将用户名和密码的简单组合保存到SharedPreferences中。虽然我不太确定我是否理解这实际上是如何运作的。所以这是我目前的代码;

app/Http/Middleware/RedirectIfAuthenticated.php

现在当然这不起作用,因为我没有任何getActivity(),但我想知道它应该是什么?或者我如何保存我发送给该功能的已有数据。

我理想的结果是能够从其他活动中获取用户名和密码。现在我宁愿不使用本地文件,但坚持使用SharedPreferences。

提前多多谢谢!

1 个答案:

答案 0 :(得分:2)

嘿,创建一个类似于下面的泛型类,无论您希望在共享首选项中存储值,您都可以使用它各自的函数来存储特定数据类型。

 import android.content.Context;
    import android.content.SharedPreferences;

    public class SharedPrefManager {

        public static SharedPreferences getSharedPref(Context mContext) {
            SharedPreferences pref = mContext.getSharedPreferences(Constants.SETTINGS, Context.MODE_PRIVATE);

            return pref;
        }

        public static void setPrefVal(Context mContext, String key, String value) {
            if(key!=null){
                SharedPreferences.Editor edit = getSharedPref(mContext).edit();
                edit.putString(key, value);
                edit.commit();
            }
        }

        public static void setIntPrefVal(Context mContext, String key, int value) {
            if(key!=null){
                SharedPreferences.Editor edit = getSharedPref(mContext).edit();
                edit.putInt(key, value);
                edit.commit();
            }
        }

        public static void setLongPrefVal(Context mContext, String key, Long value) {
            if(key!=null){
                SharedPreferences.Editor edit = getSharedPref(mContext).edit();
                edit.putLong(key, value);
                edit.commit();
            }
        }

        public static void setBooleanPrefVal(Context mContext, String key, boolean value) {
            if(key!=null){
                SharedPreferences.Editor edit = getSharedPref(mContext).edit();
                edit.putBoolean(key, value);
                edit.commit();
            }
        }


        public static String getPrefVal(Context mContext, String key) {
            SharedPreferences pref = getSharedPref(mContext);
            String val = "";
            try {
                if (pref.contains(key))
                    val = pref.getString(key, "");
                else
                    val = "";
            }catch (Exception e){
                e.printStackTrace();
            }
            return val;
        }

        public static int getIntPrefVal(Context mContext, String key) {
            SharedPreferences pref = getSharedPref(mContext);
            int val = 0;
            try {
                if(pref.contains(key)) val = pref.getInt(key, 0);
            }catch (Exception e){
                e.printStackTrace();
            }
            return val;
        }

        public static Long getLongPrefVal(Context mContext, String key) {
            SharedPreferences pref = getSharedPref(mContext);
            Long val = null;
            try{
                if(pref.contains(key)) val = pref.getLong(key, 0);
            }catch (Exception e){
                e.printStackTrace();
            }
            return val;
        }

        public static boolean getBooleanPrefVal(Context mContext, String key) {
            SharedPreferences pref = getSharedPref(mContext);
            boolean val = false;
            try{
                if(pref.contains(key)) val = pref.getBoolean(key, false);

            }catch (Exception e){
                e.printStackTrace();
            }
            return val;
        }
    }

如果有任何疑问,请询问。

相关问题