当前位置: 首页 > 知识库问答 >
问题:

如何计算价格到数量为JSON数据和后数据?

万俟心思
2023-03-14

我正在创建一个Android应用程序,并试图通过JSON从Restful Web服务检索数据。

在本教程中,我使用Restful Web服务(来自URL)中的get和post JSON数据执行了一个调用

所以这里我需要添加价格*数量,如下例:

但是我不知道如何为JSON数据发布这种计算,我谷歌了一下,并尝试了一些其他选项......有人能建议我像这样发布JSON数据吗...

我随后发布了JSON数据

但这应该在点击后完成,它应该要求添加输入数量。离线(db)这是可能的,但对于自定义Listview(异步Listview Online),我无法构建

请让我知道使用这种...我谷歌了很多选项,但我帮助较少......

共有3个答案

姚胡媚
2023-03-14

只要数据是安全的,你就应该使用BigDecimal如何将数据发布到服务器上,这并不重要。

我会用截击lib。它代替你处理很多事情,你应该深入研究,它会节省你很多时间:http://www.androidhive.info/2014/05/android-working-with-volley-library-1/

此外,我会将GSON用于json对象。它也很简单,例如创建类:

 public class Money{
    String name;
    int quantay;
    BigDecimal rate;
    BigDecimal total;

    /* make seters and getters */
}

和公正创造json这样:

money = new Money("name", 100, 0.54, 54);
Gson gson = new Gson();
String json = gson.toJson(money);

就是这样。你需要在金钱类中使用构造函数。

方浩旷
2023-03-14

您可以使用此json结构数据发布到服务器:

{
"date": "2015-07-03",
"item": [
    {
        "itemname": "xyz",
        "quantity": 6,
        "price": 80
    },
    {
        "itemname": "abc",
        "quantity": 6,
        "price": 80
    }
],
"total": "960",
"currency": "Rs."
}
穆宏胜
2023-03-14

正如我理解你的问题,我试图提供以下答案。我希望你理解模型类的概念,这使生活更容易。

第一步:首先创建一个模型类,并使其可序列化以传递模型对象,因为我可以看到您有两个活动,一个用于产品列表,另一个用于计费。在这里,您可以根据需要添加/删除一些字段。

public class Product implements Serializable {
    public String productName;
    public int price;
    public int quantity;
    public int total;
}

第2步:现在我假设您知道如何使用gson库、link1和link2将数据分配给ArrayList用户产品。

第3步:下一步是在listview setOnItemClickListener中计算total=price*quantity,如下所示,

Product product = userProducts.get(postiton);
product.total = product.price * product.quantity;

步骤4:将带有可序列化对象的arraylist从一个活动发送到另一个活动,

    Intent intent = new Intent(ProductActivity.this, BillingActivity.class);
    intent.putExtra("user_products", userProducts);
    startActivity(intent);

第5步:在计费活动中获取值,

    if (getIntent() != null) {
        userProducts = (ArrayList<Product>) getIntent()
                .getSerializableExtra("user_products");
    }

第6步:现在你的问题是如何发布它们?问题是,您必须为产品列表创建jsonarray,为其他一些字段创建jsonobject,然后您可以将主jsonobject作为字符串发送,这是一个非常好的教程。

    try {
        JSONObject mainJObject = new JSONObject();
        JSONArray productJArray = new JSONArray();
        for (int i = 0; i < userProducts.size(); i++) {
            JSONObject productJObject = new JSONObject();
            productJObject.put("productname", userProducts.get(i).productName);
            productJObject.put("price", userProducts.get(i).price);
            productJObject.put("quantity", userProducts.get(i).quantity);
            productJObject.put("total", userProducts.get(i).total);
            productJArray.put(productJObject);
        }
        mainJObject.put("products", productJArray);
        mainJObject.put("grandd_total", grandTotal);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

应该是这样的,

        {
          "products": [
            {
              "productname": "p1",
              "price": "15",
              "quantity": "6",
              "total": 90
            },
            {
              "productname": "p2",
              "price": "25",
              "quantity": "4",
              "total": 100
            }
          ],
          "grandd_total": 190
        }
 类似资料:
  • 问题内容: 我有两个表如下 桌子 和一张桌子 我想做的是,计算每种产品的小计价格(数量*价格),然后求和整个订单的TOTAL值。 我正在尝试这样的事情 但是当然那是行不通的:) 任何帮助表示赞赏! 编辑: 我只想显示整个订单的总数,因此基本上是OrderItem中每一行的Quantity * Price的总和。这是一些示例数据。 样本数据 桌子产品 表OrderItem 中号 问题答案: 使用:

  • 我想通过js完成对表格进行插入数据。该如何处理。例如有个json数据,格式如下: 最终表格是三行4列,第4列数据是根据每行第3列的数据调用一个方法,然后输出到该行中的第四列中。

  • 我有一个表格,其中包含根据订购的数量和下订单的客户类型的特定项目的价格... 我在SQL中的WHERE子句中遇到问题,无法选择客户根据订购数量获得最佳价格的行。规则是,他们必须至少满足数量,才能获得该定价层的价格。如果他们的订单低于最低数量,那么他们将获得第一个数量的价格(本例中为10),如果他们的订单超过最大数量(本例中为30),则他们将获得该价格。 例如如果一家餐厅订购26单位奶酪,则应选择I

  • 我们在学校使用hibernate,我们正在实施贷款。我们有一个持续的贷款类别,根据贷款信息(付款金额、到期总额等),应用程序应计算特定贷款的全部付款报价。 因此,我们有一个Quote类,其中包含有关该Quote的信息,Loan类有一个所有Quote的列表(类之间的组合)。 由于报价信息是可计算的,我认为它不应该出现在数据库中。 我的问题是,当Hibernate从DB获得贷款时,如何让它计算并填充报

  • 在scikit learn中,我们可以拟合训练数据,然后使用相同的矢量器转换测试数据。列车数据转换的输出是一个矩阵,表示给定文档中每个单词的tf idf分数。 然而,安装的矢量器如何计算新输入的分数?我猜: 一个单词在一个新文档中的分数,通过将同一单词在训练集中的文档上的分数进行聚合计算得出 我曾经尝试过从Scikit学习的源代码中推断出这个操作,但不太明白。这是我之前提到的选择之一还是完全不同的

  • JSON 数据格式 JSON 是 JavaScript Object Notation 的简称,是一种轻量的数据表示方法。json格式采用key:value的方式记录数据,非常直观,比XML简洁,因而大受欢迎 介绍json格式前,先让我们看看XML格式。显然,XML 得到了相当多的关注(正面和负面的评价都有),已经在 Ajax 应用程序中广泛使用: <request> <firstName>