【发布时间】:2015-09-24 10:29:41
【问题描述】:
我正在尝试创建一个执行 http POST 的简单 Android 应用程序。但是,每次我点击发送时,我的应用程序都会崩溃。我可以使用其他 REST API 客户端发送相同的请求。
http://xx.xx.xx.xx:2000/newUser(内容类型:应用程序/JSON) { “第一”:“测试”, “最后”:“测试”, “电子邮件”:“测试”, “通过”:“测试” }
这是java文件
public void send(View v)
{
try {
JSONObject parameters = new JSONObject();
parameters.put("email", "test");
parameters.put("pass", "test");
parameters.put("first", "test");
parameters.put("last", "test");
String request = "http://xx.xx.xx.xxx:2000/newUser";
URL url = new URL( request );
HttpURLConnection conn= (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /*milliseconds*/);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("POST");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setChunkedStreamingMode(0);
conn.setRequestProperty("Content-Type", "application/JSON");
conn.setRequestProperty( "charset", "utf-8");
conn.setRequestProperty( "Cache-Control", "no-cache");
conn.setUseCaches( false );
conn.connect();
OutputStream out = new BufferedOutputStream(conn.getOutputStream());
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
writer.write(parameters.toString());
InputStream in = new BufferedInputStream(conn.getInputStream());
// Close streams and disconnect.
writer.close();
out.close();
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
}
catch (JSONException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
我确实在清单文件中设置了 android.permission.INTERNET。我的应用程序在
崩溃
连接.connect();
输出流输出...
有什么想法吗???
【问题讨论】:
-
你的日志猫在哪里???发布它
-
请显示您的堆栈跟踪。
-
尝试在 GUI 线程上发出网络请求。使用 AsyncTask
-
您可以在堆栈跟踪中看到错误。总是。
-
@AnjaliTripathi 是的,我们需要这个。