gpt4 book ai didi

android - 如何将 Price 计算为 JSON 数据和 Post 数据的数量?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:57:44 25 4
gpt4 key购买 nike

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

我已经通过 Restful Web 服务(从 URL)获取和发布 JSON 数据执行了调用通过 this教程

所以这里我需要加上价格*数量像下面的例子:

enter image description here

但是我不知道如何为 JSON 数据发布这个计算我用谷歌搜索并尝试了一些其他选项....任何人都可以建议我像这种 Post JSON 数据..

我关注了this发布 JSON 数据

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

请让我知道如何使用这种...我在谷歌上搜索了很多选项,但我的帮助更少....

最佳答案

据我了解您的问题,我尝试提供如下答案。我希望您了解模型类的概念,这会让生活更轻松。

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

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

第 2 步: 现在我假设您知道如何使用 gsonlink1 将数据分配给 ArrayList userProducts和 link2 .

第 3 步: 下一步是像这样在 ListView setOnItemClickListener 中计算total = price * quantity

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

第 4 步:将带有可序列化对象的数组列表从一个 Activity 发送到另一个 Activity ,

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

第 5 步:获取计费 Activity 中的值,

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

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

    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
}

关于android - 如何将 Price 计算为 JSON 数据和 Post 数据的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31198772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com