Android相当于iOS中的NSUserDefaults


Answers:


210

这是我找到的最简单的解决方案:

//--Init
int myvar = 12;


//--SAVE Data
SharedPreferences preferences = context.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE);  
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("var1", myvar);
editor.commit();


//--READ data       
myvar = preferences.getInt("var1", 0);  

其中“上下文”是当前上下文(例如,在一个活动子类中可以是this)。


这是用于存储非常简单的东西的方法,它简单而直接
smith324 2010年

我修复了代码中的错误(正在调用不存在的getPreferences,而不是getSharedPreferences)。
本·克莱顿

14
2015年更新:Android建议现在在commit()之上使用apply(),因为apply()在后台线程上运行,而不是立即存储持久性数据并可能阻塞主线程。
AppsIntheParkNYC

有没有办法从jni代码访问此SharedPreferences?
IgorGanapolsky '16

2
要从内部获取“上下文” AppCompatActivity,可以使用getApplicationContext()
Brainware
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.