android计算各类商品价钱,android – 如何计算JSON数据和发布数据的价格?

正如我理解你的问题,我试图提供如下答案.我希望您了解Model类概念,这会让生活更轻松.

步骤1 :

首先创建一个模型类并使其成为Serializable以传递模型对象,因为我可以看到您有两个活动,一个用于产品列表,第二个用于计费.在此您可以根据您的要求添加/删除一些字段.

public class Product implements Serializable {

public String productName;

public int price;

public int quantity;

public int total;

}

步骤2:现在我假设您知道如何使用gson库,link1和link2将数据分配给ArrayList userProducts.

步骤3:下一步是在listview setOnItemClickListener中计算total = price * quantity,就像这样,

Product product = userProducts.get(postiton);

product.total = product.price * product.quantity;

步骤4:将带有Seri​​alizable对象的arraylist从一个活动发送到另一个活动,

Intent intent = new Intent(ProductActivity.this, BillingActivity.class);

intent.putExtra("user_products", userProducts);

startActivity(intent);

第5步:获取结算活动中的值,

if (getIntent() != null) {

userProducts = (ArrayList) 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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值