处理没有魔术字符串的Android首选项

处理没有魔术字符串的Android首选项,第1张

概述我使用 Androids built in way处理首选项,通过写入xml文件中的所有设置.这真的很好,但是在xml和Java代码中没有使用魔术字符串的情况下,我找不到任何好的方法. 唯一可以想到的办法是将首选项保存为String,但是也不会感到正确.任何人有一个很好的解决方法? 您可以将“魔术字符串”移动到字符串资源: 在你偏好xml文件中: <EditTextPreference 我使用 Androids built in way处理首选项,通过写入xml文件中的所有设置.这真的很好,但是在xml和Java代码中没有使用魔术字符串的情况下,我找不到任何好的方法.

唯一可以想到的办法是将首选项保存为String,但是也不会感到正确.任何人有一个很好的解决方法?

解决方法 您可以将“魔术字符串”移动到字符串资源:

在你偏好xml文件中:

<EditTextPreference        androID:key="@string/preferences_pdn_key"        androID:title="@string/preferences_pdn_Title"        androID:summary="@string/preferences_pdn_summary"        androID:dialogMessage="@string/input_pdn_message" />

在values / strings.xml文件中:

...<string name="preferences_pdn_key">pdn</string>...

然后,您可以从您的活动或偏好活动中引用偏好:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);String pdnKey = getString(R.string.prefernece_pdn_key);String pdn = sharedPreferences.getString(pdnKey,null);

如果你不喜欢从字符串资源中获取首选项,那么你可以再做一个技巧:

public class Preferencenames {    /* categorIEs */     public static final String Logincategory = MyApplication.getResourceString(R.string.preferences_login_category_key);    ...    /* preferences */       public static final String Pdn = MyApplication.getResourceString(R.string.preferences_pdn_key);    ...}

所以你现在可以用下面的方式引用你的偏好键:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);String pdn = sharedPreferences.getString(Preferencenames.Pdn,null);

这里是您的MyApplication类应如下所示:

public class MyApplication extends Application {        private static VvmApplication s_instance;    public MyApplication(){        s_instance = this;    }    public static Context getContext(){        return s_instance;    }    public static String getResourceString(int resID){        return getContext().getString(resID);           }}

另外你需要添加下一件事你的AndroIDManifest.xml:

<application androID:name="com.mypackage.application.MyApplication" ... >...</application>
总结

以上是内存溢出为你收集整理的处理没有魔术字符串的Android首选项全部内容,希望文章能够帮你解决处理没有魔术字符串的Android首选项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1131641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存