如何使用SharedPreferences存储double



我在手机内存中存储double时遇到了麻烦。如果这是不可能的,我还有什么选择。基本上,代码使用sharedpreferences的目的是获取"Alcohol"支出的存储值,然后将editText中的任何输入添加到它中,然后为下一次存储新值。酒类消费总额

**有人可以帮助解决这个问题,并详细说明x y & &;Z应该参与这个项目。

用户从一个旋转器中选择,这是有效的。

public void addInput(){

    double dblCostInput = Double.valueOf(inputBox.getText().toString());
    String strCategories= spinnerCategories.getSelectedItem().toString();
    if(strCategories.equals("Alcohol"))
    {
        alcoholSpend = alcoholSpend + dblCostInput;
        inputBox.setText("");
        nextInput();
        inputBox.setText("Your Spending on"+strCategories+" is: " +d.format(alcoholSpend));
    }
getSharedPreferences("MY_PREFERENCE", MODE_PRIVATE).edit().putString("double", "0.28").commit();

,然后检索双精度,只需使用double . parsedouble:

Double.parseDouble(getSharedPreferences("MY_PREFERENCE", MODE_PRIVATE).getString("double", "0.28"));

试试下面的代码设置/放置&使用sharedpreferences获得double:

 ////////////////////////////////////Setter/////////////////////////
Editor putDouble(final Editor edit, final String key, final double value) {
  return edit.putLong(key, Double.doubleToRawLongBits(value));
}
//////////////////////////////Getter//////////////////////////////
double getDouble(final SharedPreferences prefs, final String key, final double defaultValue) {
return Double.longBitsToDouble(prefs.getLong(key,   Double.doubleToLongBits(defaultValue)));
}

相关内容

最新更新