Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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
Java 代码赢得';getOutputStream之后不执行-Android_Java_Android - Fatal编程技术网

Java 代码赢得';getOutputStream之后不执行-Android

Java 代码赢得';getOutputStream之后不执行-Android,java,android,Java,Android,我正在尝试使用POST命令从Web服务获取一些数据。但我被一件奇怪的事情缠住了:我的代码在某一点之后无法执行,我真的不知道为什么。我使用断点和Log.d()来检查它 private void getResponse(String code) { String strurl = "http://example.com/api/something.json"; String Token = app.Settings.UserToken; Str

我正在尝试使用POST命令从Web服务获取一些数据。但我被一件奇怪的事情缠住了:我的代码在某一点之后无法执行,我真的不知道为什么。我使用断点和Log.d()来检查它

private void getResponse(String code)
    {
        String strurl = "http://example.com/api/something.json";
        String Token = app.Settings.UserToken;
        String myid= app.ID.toString();



        try {
            URL url = new URL(strurl);
            HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

            urlConnection.setDoOutput(true);
            urlConnection.setConnectTimeout(5000); 
            urlConnection.setRequestMethod("POST");
            urlConnection.setRequestProperty("Content-Type", "text/plain");
            OutputStream out = urlConnection.getOutputStream();

            String outstr = "{\"response\": {";
            outstr += "\"token\":\"" + Token + "\",";
            outstr += "\"myid\":\"" + myid+ "\",";
            outstr += "\"code\":\"" + code + "\",";
            outstr += "}}";

            out.write(outstr.getBytes());

            int respCode = urlConnection.getResponseCode();

            if (respCode == 200) {

                Gson gson = new GsonBuilder()
                        .registerTypeAdapter(Boolean.class, new BooleanTypeAdapter())
                        .create();

                InputStream in = urlConnection.getInputStream();
                JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));


                reader.beginObject();
                while (reader.hasNext()) {
                    String token = reader.nextName();

                    if (token.equals("name")) {

                    }

                }
                reader.endObject();

                reader.close();
            } else {
                return;
            }
            urlConnection.disconnect();


            return;

        } catch (Exception e) {
            e.printStackTrace();
            return;
        } finally {

        }
    }
在这条线之后

OutputStream out = urlConnection.getOutputStream();

什么都不会被执行。知道为什么吗?

写入后简单刷新,用于将消息发送到文件描述符

out.flush();

我找到了问题所在。我收到networkonmainthreadexception,因为我没有在AsyncTask中运行该函数