如何检索和存储SharedPreferences? (方法)

时间:2013-07-04 14:58:05

标签: android sharedpreferences

我的应用中有一个Spinner。无论在微调器中选择什么,最好保持跨会话,所以我使用SharedPreferences来保持用户的选择。

我不确定哪种是在需要时存储和检索此值的最佳方法。我想我看到了三种选择。

  1. 在其SharedPreferences侦听器中为微调器更新onItemSelected。当我需要在我的应用中检索值以选择如何继续时,请从SharedPreferences中获取值。

  2. 更新SharedPreferences中的onPause()。需要检索所选值时,请使用spinnerName.getSelectedItem()

  3. 两者的结合。当需要使用值SharedPreferences时,使用侦听器更新getSelectedItem()(是的,对此不太确定)。

  4. 这与我的微调器有关,但我想知道关于我的其他UI元素的相同事情,所以任何建议都会有所帮助。例如,一种方法更有效还是更有意义?

1 个答案:

答案 0 :(得分:1)

如果你选择

  1. 执行spinnerName.setOnItemSelected(this)后,它会立即调用侦听器方法,如果你有逻辑将值存储在回调内的Shared-preference中,那么它可能会导致不一致,因为如果逻辑初始化微调器是在onCreate()方法中,那么很可能你的共享偏好值总是将它重置为Spinner中的默认选定值

  2. 如果您选择第二个选项,那么将值保存到共享首选项的逻辑是合理的,但执行spinnerName.getSelectedItem().有点容易出错,而不是直接从共享首选项(是的!为什么不直接从共享首选项中获取它。)

  3. 没有评论:-P认真

  4. 为什么你想要使一个简单的过程复杂化,因为最终这不应该变成一个维护噩梦,因为只要有更多的变量和方法流,它就会导致代码气味和复杂的逻辑,从而导致本身很简单的任务。

    保持简单。