如何在android中的不同类中使用共享首选项数据?

时间:2012-03-07 06:33:20

标签: android

使用共享首选项我在其中一个活动中保存了数据现在我想在另一个活动中使用该数据该怎么做?

4 个答案:

答案 0 :(得分:8)

创建要添加共享数据的sharedPreference。像这样的代码的一个小例子:

SharedPreferences prefs = this.getSharedPreferences("CONSTANT_FILE_NAME",
                Context.MODE_PRIVATE);

SharedPreferences.Editor editor = prefs.edit();
                editor.putBoolean("isPaid", true);
                editor.commit();

要检索共享数据,请使用以下代码:

SharedPreferences prefs = this.getSharedPreferences("CONSTANT_FILE_NAME",
                    Context.MODE_PRIVATE);
prefs.getBoolean("isPaid",false); 

从开发者网站上阅读:click here

答案 1 :(得分:3)

PREFS_NAME是您在共享偏好中存储的值。

 public static final String PREFS_NAME = "MyPrefsFile";    

// Restore preferences
   SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
   boolean silent = settings.getBoolean("silentMode", false)

查看Restoring preferences

已编辑:在所有类中使用它,即setter getter方法。完美使用OOPS。您可以从任何类的1行作业中调用值

将正常的类名称设为ReturningClass。

public class ReturningClass {

private static String MY_STRING_PREF = "mystringpref";

private static String MY_INT_PREF = "shareduserid";

public static SharedPreferences getPrefs(Context context) {


    return context.getSharedPreferences("UserNameAcrossApplication", context.MODE_PRIVATE);

}

public static String getMyStringPref(Context context) {

    return getPrefs(context).getString(MY_STRING_PREF, "default");
}

public static int getMyIntPref(Context context) {

    return getPrefs(context).getInt(MY_INT_PREF, 0);
}

public static void setMyStringPref(Context context, String value) {
    // perform validation etc..
    getPrefs(context).edit().putString(MY_STRING_PREF, value).commit();
}

public static void setMyIntPref(Context context, int value) {
    // perform validation etc..
    getPrefs(context).edit().putInt(MY_INT_PREF, value).commit();
}

通过调用

设置您的值
  ReturningClass.setMyIntPref(mContext,22);

设置了sharedPreference后。然后调用此方法。只需从类中传递context./ / p>

 int usersharedpreference=ReturningClass.getMyIntPref(mContext);

答案 2 :(得分:2)

答案 3 :(得分:0)

   //decleration
 SharedPreferences saveWord;

//onCreate
saveWord=PreferenceManager.getDefaultSharedPreferences(ActivityName.this);
String word=saveWord.getBoolean(PREFS_NAME, false);