android连接到nodejs

时间:2016-08-24 14:03:53

标签: android http-post httpurlconnection

我在开发电话的同一个wifi上运行pc节点(我不使用虚拟设备)。 我测试nodejs服务器与firefox扩展休息和工作正常(与服务器相同的PC) 我尝试从我的Android应用程序发布一个简单的json。没有抛出错误但似乎没有工作(我在服务器的.post上有一个console.log(),没有显示)。我也打开8080端口。这是我的android代码

public void sendJson(View view) {

        new LongOperation().execute();


    }
    private class LongOperation extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... params) {
            try {
                URL url = new URL("http://192.168.1.5:8080/api");
                URLConnection urlConn;
                DataInputStream input;
                urlConn = url.openConnection();
                urlConn.setDoInput (true);
                urlConn.setDoOutput (true);
                urlConn.setUseCaches (false);
                urlConn.setRequestProperty("Content-Type","application/json");
                urlConn.setRequestProperty("Host", "android.schoolportal.gr");
                urlConn.connect();
//Create JSONObject here
                JSONObject jsonParam = new JSONObject();
                jsonParam.put("name", "kalosto");

// Send POST output.
                OutputStreamWriter printout = new OutputStreamWriter(urlConn.getOutputStream ());
                printout.write(jsonParam.toString());
                printout.flush ();
                printout.close ();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "Executed";
        }

        @Override
        protected void onPostExecute(String result) {
          TextView txt = (TextView) findViewById(R.id.output);
          txt.setText(result);
        }

        @Override
        protected void onPreExecute() {}

        @Override
        protected void onProgressUpdate(Void... values) {}
    }

我将帖子中的请求更改为get,从我的手机浏览器中我可以访问服务器并触发console.log但是app仍然无效

0 个答案:

没有答案