将计算存储在共享首选项中动态地存储到主动作

时间:2018-04-03 09:31:24

标签: java android

我制作了一个应用程序,我在进行一些计算并将其存储在共享首选项中 我想要做的就是获得计算出的金额并将其显示在我不进行计算的家庭活动中。只是获取共享偏好的数据。

我所知道的是,我可以使用意图来传递数据,但是如何获得价值,因为它在主动性中会发生变化,因为在家庭活动中它会显示为可用的平衡。以下是我如何进行计算

 int total = (train_ticket_amount == null || train_ticket_amount.equals("") ? 0:Integer.parseInt(train_ticket_amount))
                + (bus_ticket_amount == null || bus_ticket_amount.equals("")? 0:Integer.parseInt(bus_ticket_amount))
                + (bike_amount == null || bike_amount.equals("")? 0:Integer.parseInt(bike_amount))
                + (share_rickshaw_amount == null || share_rickshaw_amount.equals("")? 0:Integer.parseInt(share_rickshaw_amount));
        result = Integer.parseInt(textavailablebalance2) - total;
        final_amount = textAvailableBalance1.getText().toString();

        if(!expense_amount.isEmpty())
            result+=Integer.parseInt(expense_amount);
        textAvailableBalance1.setText(Integer.toString(result));

        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        SharedPreferences.Editor editor = settings.edit();
        editor.putInt("price", result);
        editor.apply();

并在onCreate中调用它

SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
        result = settings.getInt("price",3000);
        textAvailableBalance1.setText(String.valueOf(result));

计算出的金额在主要活动中被保存在共享偏好中但是我希望在家庭活动中存储相同而不在家庭活动中进行计算是否有办法这样做

0 个答案:

没有答案