我会包含示例,但是我尝试过的几十个示例中没有一个似乎可以工作。如果我尝试使用requestJsonObject,则在响应中出现错误,表示无法将JSONArray放入JSONObject中。如果我尝试使用JSONArray,它似乎无法处理后期参数。我发现了一篇文章,声称他们更新了一些东西,以允许将JSONObject传递到JSONArray中,但无法找到任何地方或我如何在代码中获取它。 我想要做的就是发送一个简单的平静帖子,并得到一个json响应。我正在通过post之后发布post,并且我对Java不够熟悉,无法理解这些更复杂的答案,找到没有参数的答案,或者找到试图将JSONObject推送到JsonArrayRequest中的答案(这会引发错误对我来说) 如何在地狱你得到它在Android的工作?!?!以下是我尝试的两种方法:Android Volley POST不起作用
private void makeArrayRequest(String setSwitch)
{
try {
Map<String, String> params = new HashMap();
params.put("func", setSwitch);
JSONArray parameters = new JSONArray(params);
DisplayToast("Sending: " + setSwitch);
JsonArrayRequest jsonRequest = new JsonArrayRequest(
Request.Method.POST, url, parameters,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
DisplayText("Response: " + response.toString());
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//error.printStackTrace();
DisplayText("Error:"+error.getMessage());
}
}
);
Volley.newRequestQueue(this).add(jsonRequest);
} catch(JSONException e) {
// this ends up getting thrown because of the HASH input
DisplayText("ArrErr:"+e.getMessage());
}
}
private void makeObjectRequest(String setSwitch)
{
DisplayToast("Sending: " + setSwitch);
Map<String, String> params = new HashMap();
params.put("func", setSwitch);
JSONObject parameters = new JSONObject(params);
JsonObjectRequest jsonRequest = new JsonObjectRequest(
Request.Method.POST, url, parameters,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
DisplayText("Response: " + response.toString());
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//this ends up getting thrown because of JSONArray response?
DisplayText("Error:"+error.getMessage());
}
}
);
Volley.newRequestQueue(this).add(jsonRequest);
}
有尝试StringRequest? 'https:// developer.android.com/training/volley/simple.html' –
问题是,我最终会让这个东西和ESP8266对话,并且它上面的库专门被使用(REST的方式是应该工作)通过POST/GET/DELETE /等各种功能。因此,如果可能的话,我需要弄清楚如何发送这样的特定请求。 – Scott
esp8266作为你的android设备的主机吗?从来没有尝试过,所以它没有任何反应? –