Android Sharedpreferences传递变量值
Android Sharedpreferences passing value of variable
如何将变量的值传递给其他 class?我正在使用 SharedPreference
,但我不知道我是否将正确的值传递给其他 class。这是我的声明。
if (arr != null) {
int sum = 0;
for(int i = 0;i<arr.length();i++) {
listdata.add(arr.get(i).toString());
String money = arr.getJSONObject(i).getString("amount");
sum += Integer.parseInt(money);
}
SharedPreferences sharedPref1 = getActivity().getSharedPreferences(String.valueOf(sum), Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref1.edit();
editor.putInt(String.valueOf(sum), sum);
editor.commit();
}
这是我如何在其他 class 中获得 SharedPreference
。这样对吗?
SharedPreferences sharedpref1 = getContext().getSharedPreferences(String.valueOf(""), MODE_PRIVATE);
int budgeted = sharedpref1.getInt(String.valueOf(""), Integer.parseInt(""));
SharedPreference
基本上是一个存储在应用程序包存储本地的键值对。因此,您可以在应用程序中为 SharedPreference
选择一个标签。比方说,您的 SharedPreference
标签是 MySharedPreference
。
因此,如果要在 SharedPreference
中存储一个值,您需要这样做。
SharedPreferences sharedPref1 = getActivity().getSharedPreferences("MySharedPreference", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref1.edit();
editor.putInt("TotalSum", sum); // Pick a key here.
editor.commit();
当您从其他 class 检索偏好值时,只需执行此操作。
SharedPreferences sharedpref1 = getContext().getSharedPreferences("MySharedPreference", MODE_PRIVATE);
int budgeted = sharedpref1.getInt("TotalSum", 0); // Use the same key you used before to retrieve the data.
您可以使用侦听器将数据从一个 class 传递到另一个
CustomListener listener = new CustomListener();
myClass.setOnSumListener(listener);
------
int sum = listener.getSumValue();
或者你可以使用事件总线库
https://github.com/greenrobot/EventBus
如何将变量的值传递给其他 class?我正在使用 SharedPreference
,但我不知道我是否将正确的值传递给其他 class。这是我的声明。
if (arr != null) {
int sum = 0;
for(int i = 0;i<arr.length();i++) {
listdata.add(arr.get(i).toString());
String money = arr.getJSONObject(i).getString("amount");
sum += Integer.parseInt(money);
}
SharedPreferences sharedPref1 = getActivity().getSharedPreferences(String.valueOf(sum), Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref1.edit();
editor.putInt(String.valueOf(sum), sum);
editor.commit();
}
这是我如何在其他 class 中获得 SharedPreference
。这样对吗?
SharedPreferences sharedpref1 = getContext().getSharedPreferences(String.valueOf(""), MODE_PRIVATE);
int budgeted = sharedpref1.getInt(String.valueOf(""), Integer.parseInt(""));
SharedPreference
基本上是一个存储在应用程序包存储本地的键值对。因此,您可以在应用程序中为 SharedPreference
选择一个标签。比方说,您的 SharedPreference
标签是 MySharedPreference
。
因此,如果要在 SharedPreference
中存储一个值,您需要这样做。
SharedPreferences sharedPref1 = getActivity().getSharedPreferences("MySharedPreference", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref1.edit();
editor.putInt("TotalSum", sum); // Pick a key here.
editor.commit();
当您从其他 class 检索偏好值时,只需执行此操作。
SharedPreferences sharedpref1 = getContext().getSharedPreferences("MySharedPreference", MODE_PRIVATE);
int budgeted = sharedpref1.getInt("TotalSum", 0); // Use the same key you used before to retrieve the data.
您可以使用侦听器将数据从一个 class 传递到另一个
CustomListener listener = new CustomListener();
myClass.setOnSumListener(listener);
------
int sum = listener.getSumValue();
或者你可以使用事件总线库 https://github.com/greenrobot/EventBus