Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android上从Post请求获取对Rest API的响应_Android_Rest_Post_Request - Fatal编程技术网

如何在Android上从Post请求获取对Rest API的响应

如何在Android上从Post请求获取对Rest API的响应,android,rest,post,request,Android,Rest,Post,Request,我从Android向RESTAPI端点发送了post请求,但没有收到服务器的响应。 我需要得到这样的回应: [{“字段”:“登录”,“消息”:“登录\“loooogin\”已被删除 已拍摄。“}] 我想也许我可以在STATUS或MSG中读取响应: 但我的尝试并没有产生结果。Android中的代码: public void createAccount(final String login, final String carNumber) { Thread thread = new

我从Android向RESTAPI端点发送了post请求,但没有收到服务器的响应。 我需要得到这样的回应:

[{“字段”:“登录”,“消息”:“登录\“loooogin\”已被删除 已拍摄。“}]

我想也许我可以在STATUS或MSG中读取响应:

但我的尝试并没有产生结果。Android中的代码:

public void createAccount(final String login, final String carNumber) {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    URL url = new URL("url");
                    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                    conn.setRequestMethod("POST");
                    conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
                    conn.setRequestProperty("Accept","application/json");
                    conn.setDoOutput(true);
                    conn.setDoInput(true);
                    JSONObject jsonParam = new JSONObject();
                    jsonParam.put("login", login);
                    jsonParam.put("carNumber", carNumber);
                    Log.i("JSON", jsonParam.toString());
                    DataOutputStream os = new DataOutputStream(conn.getOutputStream());
                    os.writeBytes(jsonParam.toString());
                    os.flush();
                    os.close();
                    Log.i("STATUS", String.valueOf(conn.getResponseCode()));
                    Log.i("MSG" , conn.getResponseMessage());
                    conn.disconnect();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
        thread.start();
    }

如果确实连接了
Gson
,则可以编写类似的代码,如果未连接,则将
JsonArray
替换为
JsonArray
,并通过imbibed
JsonArray
执行
get()
调用

JsonArray array = new JsonArray(jsonParam.toString());
    array.forEach(item -> {
        Log.i("JSON", item.get("login").asString())
    }
);

如果确实连接了
Gson
,则可以编写类似的代码,如果未连接,则将
JsonArray
替换为
JsonArray
,并通过imbibed
JsonArray
执行
get()
调用

JsonArray array = new JsonArray(jsonParam.toString());
    array.forEach(item -> {
        Log.i("JSON", item.get("login").asString())
    }
);

您好@k_bm,作为一个建议,我认为值得一看
改型
库,因为它通常是当今大多数人在Android上进行网络请求的工具。@FrancislainyCampos您是对的!但并不是每个小朋友都能学得很快,并且可能会遇到一些问题和最佳做法。嗨@k_bm,正如我的建议,我认为值得一看
改装
库,因为它通常是当今大多数人在安卓上进行网络请求的工具。@FrancislainyCampos你说得对!但并不是每个小朋友都能学得很快,可能会遇到一些问题和最佳实践。我不需要一个json数组。我还需要获得一条消息,消息是否成功。你知道怎么做吗?请尝试
conn.getResponseCode()==HttpURLConnection.HTTP_OK
,这是成功的标志。还要检查我不需要一个json数组。我还需要获得一条消息,消息是否成功。你知道怎么做吗?请尝试
conn.getResponseCode()==HttpURLConnection.HTTP_OK
,这是成功的标志。也检查