android SharedPreferences putString

#android #fragment #sharedpreferences

#Android #фрагмент #sharedpreferences

Вопрос:

я работаю с SharedPreferences.я написал код, который может сохранять информацию (некоторые строки), а также может отображать эту информацию в другом фрагменте. теперь я хочу получить такой результат. например, в первый раз я сохранил 10, а затем 20.in еще один фрагмент, который я могу показать только 20, но я хочупокажите сумму этого (10 20).возможно, этот вопрос прост, но я не знаю, как я могу это сделать, это мой источник

 private static String MY_PREFS = "mysessio";
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;


sharedPreferences = getActivity().getSharedPreferences(MY_PREFS, 0);
    editor = sharedPreferences.edit();


        _price_counter_int = Integer.parseInt(price_counter
                        .getText().toString().trim());
                _price = _price * _price_counter_int;

                editor.putString("price",
                        String.valueOf(_price));
                editor.commit();
 

и еще один фрагмент кода

  String MY_PREFS = "mysessio";
         SharedPreferences sharedPreferences;
         SharedPreferences.Editor editor;
         String price_resu<
    sharedPreferences = getActivity().getSharedPreferences(MY_PREFS, 0);

    editor = sharedPreferences.edit();

    price_result = sharedPreferences.getString("price", "");


    int ab1 = Integer.parseInt(price_result);



    Toast.makeText(getActivity(), String.valueOf(ab1), Toast.LENGTH_SHORT)
            .show();
 

Комментарии:

1. Тогда в чем проблема в коде?

Ответ №1:

Я бы предложил сделать что-то вроде этого:
1. Перед записью 20 получите значение 10
2. Объедините 20 10 с каким-либо символом (пример 10:20)
3. Во время получения суммы получите всю строку (10:20)
4. Разделите строку с помощью символа-разделителя :
5. Получаем сумму

Это позволит вам иметь доступ ко всем последовательным дополнениям к SharedPreferences .

В случае, если ваша единственная задача — сохранить сумму, вы можете напрямую получить значение 10 , добавить 20 к нему и зафиксировать сумму SharedPreferences .

Ответ №2:

 sharedPreferences = getActivity().getSharedPreferences(MY_PREFS, 0);
editor = sharedPreferences.edit();

_price_counter_int = Integer.parseInt(price_counter.getText().toString().trim());
_price1 = _price * _price_counter_int;

editor.putString("price",String.valueOf(_price));
editor.putString("price1",String.valueOf(_price1));
editor.commit();
 

Затем вы можете получить оба значения и отобразить их.