从xml创建SharedPreference

时间:2016-11-17 03:16:24

标签: android sharedpreferences

我使用SharedPreference在活动之间存储数据(它不是与设置相关的任何内容,只是用户数据)。

我在StringBuilder类中创建了这些静态方法,以处理从我的应用程序中的任何位置写入/读取共享首选项:

utils

我有这些问题:

  1. 如果我这样做,什么时候是偏好文件" FILE"产生的?它是在安装应用程序时创建的,还是仅在调用第一个save或load方法时创建的?它是xml吗?
  2. 如果我想确定怎么办?
    • 一个名为" FILE"的共享偏好文件在安装应用程序时创建。
    • 在该文件中,声明一个永久密钥列表(稍后不再添加密钥)并将它们全部设置为默认值。
  3. 我该怎么做?我听说从XML创建共享首选项可能有所帮助,但在阅读了android api后,似乎这种共享首选项适用于"设置"仅在Android中。

    我知道你可以"有点"像这样设置默认值

        public static <T>  void saveData(Context context, String key, T value, String typeOfValue) {
            SharedPreferences sharedPreferences = context.getSharedPreferences("FILE", Context.MODE_PRIVATE);
            SharedPreferences.Editor editor = sharedPreferences.edit();
            switch (typeOfValue) {
                case ("String"):
                    editor.putString(key, (String) value);
                    break;
                case ("int"):
                    editor.putInt(key, (Integer) value);
                    break;
                case ("Boolean"):
                    editor.putBoolean(key, (Boolean) value);
                    break;
                default:
                    break;
            }
            editor.commit();
        }
    
        public static <T> T loadData(Context context, String key)   {
                SharedPreferences sharedPreferences = context.getSharedPreferences(FILE, Context.MODE_PRIVATE);
                return  (T) sharedPreferences.getAll().get(key);
        }
    

    但我不想要这个,因为我所有的阅读方法都是通用的。另外,我不喜欢这个因为我不知道幕后会发生什么。看起来默认值实际上并没有设置到首选项文件中,如果尚未设置值,它可能只返回默认值。

1 个答案:

答案 0 :(得分:0)

您可以查看sharedPreference.xml。 使用Android Studio - &gt;工具 - &gt; Android - &gt; Android设备监视器。 image

文件路径为/data/data/<package_name>/shared_prefs 因此,您可以测试文件的创建时间。