【发布时间】:2019-12-04 13:12:51
【问题描述】:
我知道的
我可以在JsonObjectRequest 的帮助下使用Volley 而不使用GSON 来提出请求。现在我正在学习GSON,所以我可以在没有参数的情况下发出请求。
示例代码
HashMap<String, String> params = new HashMap<String, String>();
params.put("user",userId);
Log.d(TAG + "pp", String.valueOf(params));
String Url = Constants.Base_URL + "getcoupons/";
JsonObjectRequest request = new JsonObjectRequest(Url, new JSONObject(params),
response -> {
Log.d(TAG, "respCoupan" + String.valueOf(response));
try {
String statusResponseObject = response.getString("status");
String msgObject = response.getString("msg");
if (statusResponseObject.equals("200")){
JSONArray jsonArray = response.getJSONArray("response");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject pendingFragResponse = jsonArray.getJSONObject(i);
String codeObject = pendingFragResponse.getString("code");
String typeObject = pendingFragResponse.getString("type");
String amountObject = pendingFragResponse.getString("amount");
String descriptionObject = pendingFragResponse.getString("description");
String leagueObject = pendingFragResponse.getString("league");
String expireObject = pendingFragResponse.getString("expire");
//
couponArrayList.add(new Coupon(codeObject, typeObject, amountObject,
descriptionObject, leagueObject, expireObject));
couponAdapter = new CouponAdapter( couponArrayList, CoupanActivity.this);
recyclerView.setAdapter(couponAdapter);
wp10ProgressBar.hideProgressBar();
wp10ProgressBar.setVisibility(View.GONE);
}
couponAdapter.notifyDataSetChanged();
// wp10ProgressBar.hideProgressBar();
}else {
wp10ProgressBar.hideProgressBar();
wp10ProgressBar.setVisibility(View.GONE);
Toast.makeText(CoupanActivity.this, msgObject, Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
Toast.makeText(this, "Server didn't response, Try after some time", Toast.LENGTH_LONG).show();
}
}, error -> {
error.printStackTrace();
Log.d(TAG + "error", String.valueOf(error.getMessage()));
Toast.makeText(this, "Server didn't response, Try after some time", Toast.LENGTH_LONG).show();
});
MySingleton.getInstance(CoupanActivity.this).addToRequestQueue(request);
JSON
{
"status": "200",
"msg": "Successfully",
"response": [
{
"code": "YUDH20",
"type": "Flat",
"amount": "2",
"description": "Flat 20% credit Discount",
"league": "0",
"league_name": "",
"expire": "2019-08-22"
}
]
}
我想要什么
我想要一个清晰的示例来使用 GSON 和参数发出请求(意味着使用 GSON 在请求中发送 Hashmap 值)。
我可以使用GSON作为 java 类的参数吗?
如何将 GSON 用于标头?
【问题讨论】:
标签: java android json gson android-volley