【问题标题】:Android equivalent of NSUserDefaults in iOSAndroid 相当于 iOS 中的 NSUserDefaults
【发布时间】:2011-04-04 19:09:30
【问题描述】:

我想保存一些简单的数据。在 iPhone 上,我可以在 Objective-C 中使用 NSUserDefaults 来完成。

Android 中类似的命令是什么?

我只是保存了一些变量,只要安装了应用程序就可以重复使用。我不想为此使用复杂的数据库。

【问题讨论】:

    标签: android ios nsuserdefaults code-translation


    【解决方案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()
    猜你喜欢
    • 1970-01-01
    • 2015-06-06
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多