내 앱에서 JSON 웹 서비스 사이트에 이메일 주소와 비밀번호를 보내고 주어진 정보를 검색하는 데 수 년 이상 같은 코드를 사용하고 있습니다. 나는 지금 업데이트 목적으로 몇 가지 추가 정보를 보내려고하지만 두 개의 추가 값을 추가하면 앱이 다운됩니다.JSON에 보낼 때 HttpGet (url)에서 앱이 작동을 멈 춥니 다
private void doTfr() {
String result = "";
String mailAddr = " ";
String feedback = " ";
String lectName = MyLecturesActivity.LectName;
String url = "http://jobtracker.myweb.com/jsonWeb/Default.aspx";
mailAddr = "[email protected]";
EditText fBack = (EditText) findViewById(R.id.myfeedback_feedback2);
feedback = fBack.getText().toString();
lectName = "Test Android";
url = url + "?maddr=" + mailAddr + "&pwd=FB&lect=" + "\"lectName\"&fb=\"" + feedback + "\"";
//url = url + "?maddr=" + mailAddr + &pwd=BI"; Using this url works!
try {
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url); ****Crashes here
HttpResponse response;
response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
result = convertStreamToString(instream);
result = result.replaceAll(""", "\"");
JSONObject json=new JSONObject(result);
JSONArray nameArray=json.names();
JSONArray valArray=json.toJSONArray(nameArray);
endif
nstream.close();
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
}
}
}
주석 처리 된 URL을 사용할 때 작동합니다. 누군가 두 개의 새로운 값을 추가하면 충돌이 발생하는 이유를 알 수 있습니까? 문자열의 크기 일 수 있습니까?
당신은 왜 따옴표가 GET 요청의 URL에가 오류 시나리오 – curious
에 대한 로그 캣을 인쇄 할 수 있습니까? –
이후 나는 따옴표를 제거하고 아무런 차이가 없습니다. Logcat의 출력은 아마도 도움이되지 않지만 여기서는 java.lang.reflect.Method.invokeNative (기본 메소드) – user616076