Activity 1st..
Here this is my first activity to add data
preferences=PreferenceManager.getDefaultSharedPreferences(context);
preferences = getPreferences(MODE_PRIVATE);
editor = preferences.edit();
editor.putString("userid",et_username.getText().toString());//adduserid
editor.putString("password",et_password.getText().toString());//add password
editor.commit();
活动2 这是我检索数据的第二个活动。
String userName=preferences.getString("userid","");
String password=preferences.getString("password","");
Log.d("user : second", ""+preferences.getString("userid",""));
Log.d("password : second", ""+preferences.getString("password",""));
由于空值,因此不显示日志。
答案 0 :(得分:0)
检查您的preferences
对象(可能是null
)。这可能是问题,因为其他String变量永远不为null,可以是空字符串(""
)。
您是否在此示例中错过了第二个preferences
中Activity
的初始化?
答案 1 :(得分:0)
String userName=preferences.getString("userid");
String password=preferences.getString("password");
Log.d("user : second", ""+userName);
Log.d("password : second", ""+password);
请你这样试试。
答案 2 :(得分:0)
在这两个活动中,只需使用它来获取SharedPreferences对象:
SharedPreferences prefs = getSharedPreferences("PREFS", Context.MODE_PRIVATE);
您可能尝试从不同的活动中访问不同的偏好文件。
或者只是使用
PreferenceManager.getDefaultSharedPreferences(this);
答案 3 :(得分:0)
我只存储一个整数值,你必须多于一个值..
PreferenceConnector.writeInteger(home.this, PreferenceConnector.com_id, homeComp_id);
要在其中使用的preferenceConnector
类以下...
public class PreferenceConnector {
public static final String PREF_NAME = "Shared Preference";
public static final int MODE = Context.MODE_PRIVATE;
public static final String com_id = "com_id";
public static void writeBoolean(Context context, String key, boolean value) {
getEditor(context).putBoolean(key, value).commit();
}
public static boolean readBoolean(Context context, String key, boolean defValue) {
return getPreferences(context).getBoolean(key, defValue);
}
public static void writeInteger(Context context, String key, int value) {
getEditor(context).putInt(key, value).commit();
}
public static int readInteger(Context context, String key, int defValue) {
return getPreferences(context).getInt(key, defValue);
}
public static SharedPreferences getPreferences(Context context) {
return context.getSharedPreferences(PREF_NAME, MODE);
}
public static Editor getEditor(Context context) {
return getPreferences(context).edit();
}
}
然后你也将分享偏好值用于下面的其他活动......
int Pref = PreferenceConnector.readInteger(mainpage.this, PreferenceConnector.com_id, 0);
希望上面的代码有用......