Android 相当于 iOS 中的 NSUserDefaults
Posted
技术标签:
【中文标题】Android 相当于 iOS 中的 NSUserDefaults【英文标题】:Android equivalent of NSUserDefaults in iOS 【发布时间】:2011-04-04 19:09:30 【问题描述】:我想保存一些简单的数据。在 iPhone 上,我可以在 Objective-C 中使用 NSUserDefaults
来完成。
android 中类似的命令是什么?
我只是保存了一些变量,只要安装了应用程序就可以重复使用。我不想为此使用复杂的数据库。
【问题讨论】:
【参考方案1】:这是我找到的最简单的解决方案:
//--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);
'context' 是当前上下文(例如,在活动子类中可能是 this)。
【讨论】:
这是存储非常简单的东西的方法,简单直接 我修复了代码中的错误(调用了不存在的 getPreferences,而不是 getSharedPreferences)。 2015 年更新:Android 建议现在使用 apply() 而不是 commit(),因为 apply() 在后台线程上运行,而不是立即存储持久数据并可能阻塞主线程。 有没有办法从 jni 代码访问这个 SharedPreferences? 要从AppCompatActivity
中获取“上下文”,您可以使用getApplicationContext()
以上是关于Android 相当于 iOS 中的 NSUserDefaults的主要内容,如果未能解决你的问题,请参考以下文章