use*_*401 2 xml android android-preferences
我有以下代码从我的xml首选项文件中获取长值,
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
long longBreak = Integer.parseInt(getPrefs.getString("breakTime", "8000"));
long shortBreak = Integer.parseInt(getPrefs.getString("breakTime", "5000"));
long workTime = Integer.parseInt(getPrefs.getString("workTime", "10000"));
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我的LogCat显示"SharedPreference getPrefs = ...."行上的错误,我的android应用程序在加载长值之前中断....
我有我的偏好xml如下,
<ListPreference
android:entries="@array/workList"
android:entryValues="@array/workTimes"
android:key="workTime"
android:summary="Choose Work Time"
android:title="Work Time" />
<ListPreference
android:entries="@array/breakList"
android:entryValues="@array/breakTimes"
android:key="breakTime"
android:summary="Choose Break Time"
android:title="Break Time" />
Run Code Online (Sandbox Code Playgroud)
和我的数组值如下,
<string-array name="workList">
<item>25 Minutes</item>
<item>10 Seconds</item>
</string-array>
<string-array name="breakList">
<item>15 Minutes</item>
<item> 5 Minutes</item>
<item>8 Secs</item>
<item>5 Secs</item>
</string-array>
<string-array name="workTimes">
<item>1500000</item>
<item>10000</item>
</string-array>
<string-array name="breakTimes">
<item>900000</item>
<item>300000</item>
<item>8000</item>
<item>5000</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
我在差异应用程序中测试了相同的代码,它工作正常....任何帮助?提前致谢...
您可以使用:
SharedPreferences shared = getSharedPreferences("file_pref", MODE_PRIVATE);
to get a object of SharedPreferences
Run Code Online (Sandbox Code Playgroud)
要从SharedPreferences获取Long值:您应该使用SharedPreferences类的编辑器中的putLong("key","value")和getLong("key","default_value")来获取所需的值.例如:
//创建:
SharedPreferences shared = getSharedPreferences("file_pref", MODE_PRIVATE);
Editor edit = shared.edit();
shared.putLong("key1","value1");
Run Code Online (Sandbox Code Playgroud)
//使用:
SharedPreferences shared = getSharedPreferences("file_pref", MODE_PRIVATE);
Long value_long = shared.getLong("key1",0);
//with 0 - default value
Run Code Online (Sandbox Code Playgroud)
您可以通过此链接了解如何使用SharedPreferences类清晰,轻松地在Android中保存简单信息:
希望它对你有用.