Android 每次都获取0,但邮递员显示正确的输出?
我正在开发一个android应用程序,它与Woo commerce相连。我在邮递员上点击了API,它添加了产品,并在购物车中提供了全部商品,但当我点击相同参数的API时,我在购物车中得到了0个商品。我正在通过移动应用程序添加产品。我完全糊涂了。我正在使用截击库。所以我认为这是因为缓存,所以我尝试清除缓存,但在Json中得到了相同的响应。帮助我。我是否需要在android中集成Woo commerce。如果是,那怎么办 [邮递员回复购物车中的全部商品] android studio上的JSON响应 添加到购物车:--Android 每次都获取0,但邮递员显示正确的输出?,android,woocommerce,Android,Woocommerce,我正在开发一个android应用程序,它与Woo commerce相连。我在邮递员上点击了API,它添加了产品,并在购物车中提供了全部商品,但当我点击相同参数的API时,我在购物车中得到了0个商品。我正在通过移动应用程序添加产品。我完全糊涂了。我正在使用截击库。所以我认为这是因为缓存,所以我尝试清除缓存,但在Json中得到了相同的响应。帮助我。我是否需要在android中集成Woo commerce。如果是,那怎么办 [邮递员回复购物车中的全部商品] android studio上的JSON响应
{“状态”:1,“项目密钥”:“c6a01432c8138d46ba39957a8250e027”,“购物车内容”:{“产品”:[{“id”:3129,“标题”:“Surya Toast-O烤面包机”,“数量”:1,“价格”:“1195”,“正常价格”:“1495”,“销售价格”:“1195”,“图像”:http://www.electrisia.com/wp-content/uploads/2015/11/Surya-10-Sizzle-10-L-SDL647886232-1-a142d16-200x150.jpg“}],“count”:1,“line_count”:1},“msg”:“产品已成功添加到购物车”} 购物车响应中的项目总数 {“状态”:1,“购物车中的项目总数”:0} 我知道woo commerce为网站上的每个用户管理一种缓存,就像《邮递员》中的一样,每次我点击“添加到购物车API”时,它都会自动在我以前的购物车上添加项目,但在移动应用程序中则不会。每次我点击“添加到购物车”时,购物车中的项目总数为0 购物车中总项目的代码:-
StringRequest request = new StringRequest(Request.Method.GET,TotalItemCart,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("Response",response);
ProgressUtils.cancelProgressDialog();
try {
JSONObject object = new JSONObject(response);
/* if(object.has("count"))
{
cartItemCount = object.getString("count");
tv.setText(cartItemCount);
}*/
if(object.has("status")) {
if (object.getInt("status") == 1) {
if(object.has("Total Items in a cart"))
{
cartItemCount = object.getString("Total Items in a cart");
tv.setText(cartItemCount);
}
}else {
Toast.makeText(ItemDescriptionActivity.this,"failed to add item",Toast.LENGTH_SHORT).show();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
ProgressUtils.cancelProgressDialog();
Toast.makeText(ItemDescriptionActivity.this, "Cart not updated", Toast.LENGTH_SHORT).show();
}
});
queue.add(request);
StringRequest request=newstringrequest(request.Method.GET、TotalItemCart、,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Log.d(“响应”,响应);
ProgressUtils.cancelProgressDialog();
试一试{
JSONObject对象=新的JSONObject(响应);
/*if(object.has(“count”))
{
cartItemCount=object.getString(“count”);
tv.setText(cartItemCount);
}*/
if(object.has(“status”)){
if(object.getInt(“status”)==1){
if(object.has(“购物车中的全部商品”))
{
cartItemCount=object.getString(“购物车中的商品总数”);
tv.setText(cartItemCount);
}
}否则{
Toast.makeText(ItemDescriptionActivity.this,“未能添加项”,Toast.LENGTH_SHORT.show();
}
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
ProgressUtils.cancelProgressDialog();
Toast.makeText(ItemDescriptionActivity.this,“购物车未更新”,Toast.LENGTH_SHORT.show();
}
});
添加(请求);
添加到购物车代码
ProgressUtils.showProgressDialog(ItemDescriptionActivity.this);
StringRequest request = new StringRequest(Request.Method.POST,AppConstant.AddToCart,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("Response",response);
ProgressUtils.cancelProgressDialog();
if(response != null)
{
try {
JSONObject responseOBJ = new JSONObject(response);
if(responseOBJ.has("status"))
{
if(responseOBJ.getInt("status")==1)
{
Toast.makeText(ItemDescriptionActivity.this,"Item added successfully",Toast.LENGTH_SHORT).show();
ItemCartCount();
}else {
if(responseOBJ.has("msg"))
{
Toast.makeText(ItemDescriptionActivity.this,""+responseOBJ.getString("msg"),Toast.LENGTH_SHORT).show();
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
ProgressUtils.cancelProgressDialog();
Toast.makeText(ItemDescriptionActivity.this, "Someting went wrong...", Toast.LENGTH_SHORT).show();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("product_id", String.valueOf(AppConstant.Product_ID));
params.put("qty","1");
params.put("secret_key",sec_key);
return params;
}
//no semicolon or coma
};
queue.add(request);
ProgressUtils.showProgressDialog(ItemDescriptionActivity.this);
StringRequest=new StringRequest(request.Method.POST,AppConstant.AddToCart,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
Log.d(“响应”,响应);
ProgressUtils.cancelProgressDialog();
if(响应!=null)
{
试一试{
JSONObject responseOBJ=新的JSONObject(响应);
如果(responseOBJ.has(“状态”))
{
if(responseOBJ.getInt(“状态”)==1)
{
Toast.makeText(ItemDescriptionActivity.this,“项目添加成功”,Toast.LENGTH_SHORT.show();
ItemCartCount();
}否则{
if(responseOBJ.has(“msg”))
{
Toast.makeText(itemscriptionActivity.this,“+responseOBJ.getString(“msg”),Toast.LENGTH_SHORT.show();
}
}
}
}捕获(JSONException e){
e、 printStackTrace();
}
}
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
ProgressUtils.cancelProgressDialog();
Toast.makeText(itemsdescriptionactivity.this,“出错…”,Toast.LENGTH\u SHORT.show();
}
}){
@凌驾
受保护的映射getParams()引发AuthFailureError{
Map params=新的HashMap();
参数put(“product_id”,String.valueOf(AppConstant.product_id));
参数put(“数量”、“1”);
参数put(“秘密密钥”,安全密钥);
返回参数;
}
//没有分号或昏迷
};
添加(请求);
您需要检查请求和响应。有几种方法。
1.在请求之前和响应之后登录应用程序。您可以在此处看到
2.使用charles检查您实际发出的请求和服务器返回的响应。设置它需要一些时间,但值得。首先,您应该在此处发布代码,否则这里没有人可以帮助您。此外,您还需要检查两个请求,当您将参数传递给