【问题标题】:can someone explain me how SharedPreferences works in Android in a very detailed yet easy understanding?有人可以以非常详细但易于理解的方式向我解释 SharedPreferences 在 Android 中的工作原理吗?
【发布时间】:2012-09-21 21:35:13
【问题描述】:

我是 Android 开发新手,现在我真的很想学习共享首选项。我用谷歌搜索了很多次,但我认为我没有完全掌握它。

我相信此共享首选项将帮助我在登录屏幕活动中存储用户名和密码。谢谢你!

【问题讨论】:

标签: android login sharedpreferences


【解决方案1】:

对于 android,主要有三种基本的数据持久化方式:

  • 共享偏好以保存小块数据
  • 传统文件系统
  • 支持 SQLite 数据库的关系数据库管理系统

SharedPreferences 对象可帮助您将简单的应用程序数据保存为名称/值对 - 您为要保存的数据指定一个名称,然后它和它的值都将自动为您保存到 XML 文件中。要将数据保存在 sharedPreferences 文件中:

  1. 获取 sharedPreferences 文件的实例: SharedPreferences appPrefs = getSharedPreferences(or fileName, MODE_PRIVATE);

  2. 创建 SharedPreferences.Editor 对象

  3. 例如,要将 String 值放入 SharedPreferences 对象,请使用 putString() 方法。

  4. 要将更改保存到首选项文件,请使用 commit() 方法

看起来像这样:

// obtain an instance of the SharedPreferences class
preferences = getSharedPreferences(prefFileName, MODE_PRIVATE);
editor = preferences.edit();

// save username String
editor.putString("username", student).commit();

要检索它,请使用 getString() 方法:

preferences.getString(username, null) where null is a default value that will be returned if username key is not found in the file.

【讨论】:

    【解决方案2】:

    我为此制作了一些视频作为工作试镜。他们帮助我得到了这份工作,而且他们仍然可以在 Vimeo 上找到,所以希望他们可以帮助你。

    第 1 部分:Saving Data

    第 2 部分:Retrieving Data

    此外,无论如何,请小心将用户名和密码存储在 SharedPreferences 中。您可以在那里进行,但请阅读其他 SO 问题中的风险:What is the most appropriate way to store user settings in Android application

    【讨论】:

    • 谢谢本!我看了你的视频,这让我想起了我以前在哪里见过你的脸;)!谢谢你的一切!
    • 呵呵 - 我很高兴这些仍然有用!我们现在在 Treehouse 的两门课程中介绍它们。
    猜你喜欢
    • 2021-04-11
    • 1970-01-01
    • 2017-01-02
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2021-09-10
    相关资源
    最近更新 更多