안드로이드가 나머지 API를 사용하여 ATG sessionconfirmationNumber에 액세스 할 때 한 가지 문제점에 직면하고 있습니다. http urlconnection을 사용하여 코드가 완벽하게 작동하고 출력이 나오지만 결과가 나타납니다. Json 응답에서 숫자가 클수록 반올림됩니다. 아래는 코드입니다.XMLhttprequest가 안드로이드에서 응답을 얻으려면
try {
StrictMode.ThreadPolicy policy = new StrictMode.
ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
// Defined URL where to send data
// URL url = new URL("http://10.201.62.27:8080/Test-Servlet/TestServletAndroid?"+data);
URL url = new URL("http://52.70.41.98:7203/rest/model/atg/rest/SessionConfirmationActor/getSessionConfirmationNumber");
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
HttpURLConnection httpConnection = (HttpURLConnection) conn;
Log.e("Connection", conn.toString());
httpConnection.setRequestMethod("GET");
httpConnection.setRequestProperty("Content-Type", "text/plain");
httpConnection.connect();
// Get the server response
reader = new BufferedReader(new InputStreamReader(httpConnection.getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while ((line = reader.readLine()) != null) {
// Append server response in string
sb.append(line + "\n");
}
response = sb.toString();
Log.v("ResponseVALID", response);
JSONObject json = new JSONObject(response);
Log.v("Tag0", json.toString());
scn = json.getLong("sessionConfirmationNumber");
/*String srr[] = response.split(":");
for(int i =0;i<srr.length;i++){
Log.v("TAG2:",srr[i]);
}
SCN=srr[1].replace("}", "");
SCN= SCN.trim();
Log.v("SCN ",SCN);
scn=Long.parseLong(SCN);*/
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
reader.close();
} catch (Exception ex) {
}
}
나는 웹 포털에 AngularJS와 함께 같은 문제에 직면 한 XMLHTTP 요청은 목표를 달성하기 위해 나를 도왔다.
안드로이드 스튜디오의 요청을 사용할 수 있습니까?, 그렇다면!, 시도해 봤지만 아무것도 준비하지 못했습니다.
도움을 주시면 감사하겠습니다. 로
httpConnection.setRequestProperty("Content-Type", "text/plain");
필요 :
httpConnection.setRequestProperty("Content-Type", "application/json");
참조 [이] (http://stackoverflow.com/questions/477816/what-is – bated