Я пытаюсь использовать класс HttpUrlConnection в Async Task внутри doInBackground.Как использовать метод POST внутри HttpUrlConnection
@Override
protected String doInBackground(String... params) {
String strUrl=String.format("%s",SERVER_URL);
try {
URL url =new URL(strUrl);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.setChunkedStreamingMode(0);
urlConnection.setRequestProperty("Content-Type","application/json");
String str="{\"userid\":\"1\"}";
byte[] outputInBytes = str.getBytes("UTF-8");
OutputStream os = urlConnection.getOutputStream();
os.write(outputInBytes);
os.close();
InputStream stream1=urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(stream1);
StringBuilder builder = new StringBuilder();
int chr;
while((chr=reader.read())!=-1)
{
builder.append((char)chr);
}
String result=builder.toString();
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
Но я получаю нуль вместо результата, в чем проблема.
Отладить свой код и проверить, как только ваш поток кода –
вы можете использовать это для получения и публикации http://stackoverflow.com/questions/37289109/calling-a-async-task-and-waiting-for-answer? noredirect = 1 # comment62106624_37289109 –
Вы получаете нуль на код сервера или результат ?, значение результата будет на что-либо, что отвечает сервер. –