- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
String url_save = "http://13.210.238.81:8080/freelance-api/gig/addGig";
RequestQueue requestQueue = Volley.newRequestQueue(this);
JSONObject obj=new JSONObject();
try {
obj.put("categoryId",categoryId);
obj.put("gigDescription",edt_describeProject.getText().toString());
obj.put("revision",edt_revision.getText().toString());
obj.put("gigRate",edt_rate.getText().toString());
obj.put("expectedDuration",expected_delivery.getSelectedItem().toString());
obj.put("gigTitle",edt_uniqueTitle.getText().toString());
obj.put("subCategoryId",sub_Category);
JSONArray array=new JSONArray();
JSONObject objp=new JSONObject();
objp.put("skillId",id);
objp.put("skillTitle",edt_skills.getQuery().toString());
array.put(objp);
obj.put("gigSkills",array);
} catch (JSONException e) {
e.printStackTrace();
}
final String requestBody = obj.toString();
Toast.makeText(getApplicationContext(), "params-"+obj, Toast.LENGTH_LONG).show();
Log.d("params", ""+obj);
/*final Map<String, String> params = new HashMap<String, String>();
params.put("categoryId", categoryId);
params.put("gigDescription",edt_describeProject.getText().toString());
params.put("skillTitle",edt_skills.getQuery().toString());
params.put("skillId",id);
params.put("gigTitle",edt_uniqueTitle.getText().toString());
params.put("subCategoryId",sub_Category);
params.put("expectedDuration",expected_delivery.getSelectedItem().toString());
params.put("revision",edt_revision.getText().toString());
params.put("gigRate",edt_rate.getText().toString());
Toast.makeText(getApplicationContext(), "params-"+params, Toast.LENGTH_LONG).show();
Log.d("params", ""+params);*/
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST,url_save,new JSONObject(requestBody), new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(getApplicationContext(),
"response-"+response, Toast.LENGTH_LONG).show();
Log.d("response",""+response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(),
"error"+error.toString(), Toast.LENGTH_LONG).show();
Log.d("VolleyError","Volley"+error);
VolleyLog.d("JSONPost", "Error: " + error.getMessage());
NetworkResponse networkResponse = error.networkResponse;
if (networkResponse != null && networkResponse.data != null) {
Log.e("Status code", String.valueOf(networkResponse.data));
}
/*if (error.networkResponse == null) {
if (error.getClass().equals(TimeoutError.class)) {
Toast.makeText(getApplicationContext(),
"Failed to save. Please try again.", Toast.LENGTH_LONG).show();
}
}*/
}
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "applications/json");
headers.put("Authorization", "Bearer"+" "+sharedPreferenceConfig.ReadToken(getString(R.string.token_preference)));
return headers;
}
/*@Override
public byte[] getBody() {
try {
return requestBody == null ? null : requestBody.getBytes("utf-8");
} catch (UnsupportedEncodingException uee) {
VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", requestBody, "utf-8");
return null;
}
}*/
@Override
public String getBodyContentType() {
return "application/json; charset=utf-8";
}
};
requestQueue.add(jsonObjectRequest);
Json 数据看起来像下面想要使用 JsonObjectRequest 将数据发送到服务器。
{
"categoryId":"3",
"gigDescription":"test",
"revision":"3",
"gigRate":"20",
"expectedDuration":"10",
"gigTitle":"test",
"subCategoryId":"10",
"gigSkills":
[
{
"skillId":"1",
"skillTitle":"Javaaa"
}
]
}
最佳答案
您可以像这样检查 volly 错误的状态代码。它会告诉您为什么会收到 com.android.volley.ClientError
。
NetworkResponse response = error.networkResponse;
if (response != null && response.data != null) {
switch (response.statusCode) {
case 401:
//Session expired or token expired
break;
case 400:
break;
}
}
关于android - 如何使用 JsonObjectRequest with volley 在 json 对象中发送包含 json 数组的 Json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54212795/
我在 Xamarin 中使用用户名和密码获取 JSON,一切正常,但现在我尝试学习 Android SDK,我想使用 JsonObjectRequest 获取 JSON。 在 Xamarin 中它可以
我是 Android 和 JAVA 的新手,我正在尝试解析 json 响应。我知道如何解析 jsonarray 但不知道如何解析 jsonobject。有人能告诉我怎么做吗?以下是我的回复。 {"11
所以我正在开发一个 Android 应用程序,它从 xampp 服务器上的 MySQL 数据库检索数据。这是来自 android main 的代码, Button scanButton = (Butt
The error is: "cannot resolve constructor jsonobjectrequest(int, java.lang.string, null, anonymous
这是我将数据发布到服务器的方法,但无法发布。我必须将数据发布到服务器,我正在使用 JsonObjectRequest 是否有其他方法来发布数据,请帮助我。 private void postNoti
我在实现 JsonObjectRequest 以从网络获取 JsonObject 时遇到问题。我正在尝试创建一个新的 JsonObjectRequest : JsonObjectRequest j
我一直在尝试使用 Google volley 在 Genymotion 模拟器中执行简单的 JsonObjectRequest。但下面代码的最后一行(JsonObjectRequest 的实例化)会导
我需要在 JsonObjectRequest 中使用 Mediaplayer。我的代码是这样的 obreq = new JsonObjectRequest(Request.Method.GET
我正在使用 Put 方法创建 JsonObjectRequest,但它不起作用并收到“{"detail":"Method\"GET\"not allowed."}"错误消息。 它在 Postman 上
我通过返回通用请求类型的函数创建请求: public final class SpecificRequestService extends RequestService { @Override
我需要按以下格式传递一个字符串作为参数:["default"] 我应该如何构建我的 JSONObject 以执行以下操作: final JsonObjectRequest request =
我正在尝试使用一些参数向我的服务器发送 JsonObjectRequest,但似乎参数没有到达服务器。在 SO 上发帖之前,我尝试了在 google 中找到的所有建议,但没有一个工作正常.. 这是我的
我正在尝试使用 volley 连接到 API,我正在设置所有参数和 header ,但似乎参数被忽略了,我在这里遗漏了什么?我上周开始学习 android volley,但我有点迷路了。 pa
错误: Error:(164, 40) error: no suitable constructor found for JsonObjectRequest(int,String,>,) constr
我在关注这个问题 http://www.androidhive.info/2014/08/android-building-free-wallpapers-app-part-2/ 已经到了我添加启动画
我正在使用 Volley JsonObjectRequest从服务器获取数据。 代码 fragment : JsonObjectRequest jsObjRequest = new JsonObjec
这几天我一直在摆弄这个。做错了。 Android Studio 不会让我用这个错误编译它。所以,我有这个应用程序,其中有两个选项卡和两个 fragment 。一个 fragment 称为 new,该
我正在使用 mcxiaoke/android-volley 库。我得到的编译错误是 Error:(77, 37) error: reference to JsonObjectRequest is am
public class CustomRequest extends JsonObjectRequest { public CustomRequest(String url, JSONObje
我需要将 5 个字符串和 3 个整数作为参数发送到我的服务器。我不断收到此错误:“缺少必需的参数(姓名、电子邮件、密码、性别或出生日期)!” [在我的 php 代码末尾找到]。如何将多个基本类型作为参
我是一名优秀的程序员,十分优秀!