我是java的惊人世界的新手,但我的Obj-C体验告诉我这段代码:
Preferences prefs = Preferences.userRoot();
String tickets = prefs.get("tickets", "???");
Log.d("Prefs", tickets);
prefs.put("tickets", "!!!");
首次运行时应生成???
,第二次运行时生成!!!
。但事实并非如此。我一直看到???
。
我错过了什么?也许一些权限?也许在prefs对象上调用一些save()
方法?
我也试过了:
Preferences prefs = Preferences.userRoot().node(this.getClass().getName());
也没有运气。
答案 0 :(得分:1)
我认为您可能正在寻找SharedPreferences
..." context
"是您的Activity
或Application
尝试:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
String tickets = prefs.getString("tickets", "???");
Log.d("Prefs", tickets);
prefs.edit().putString("tickets", "!!!").commit();
答案 1 :(得分:0)
好像你想使用SharedPreferences存储一些数据。要写入首选项,请尝试以下函数:
public void putPref(Context context, String key, String value){
SharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = SharedPrefs.edit();
editor.putString(key, value);
editor.commit();
}
如果您想使用密钥"???"
设置值"tickets"
,请使用:
putPref(context, "tickets", "???");
您可以使用以下方法检索该值:
SharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
如果您想获得密钥"ticket"
的价值,请使用:
SharedPrefs.getString("tickets", "default");
如果找不到首选项,则"default"
是默认值。希望这会有所帮助。
答案 2 :(得分:0)
您可以使用以下功能
将值保存到首选项中public static void saveTickets(String customerId,Context context)
{
SharedPreferences preferences;
preferences = context.getSharedPreferences("sample",Context.MODE_PRIVATE);
preferences.edit().putString("tickets", customerId).commit();
}
使用以下函数从首选项中获取值。您需要传递的参数只是上下文
public static String getTickets(Context context)
{
SharedPreferences preferences;
preferences = context.getSharedPreferences("sample",Context.MODE_PRIVATE);
String customerId = preferences.getString("tickets", "");
return customerId;
}