當我的應用程序已經使用相同的代碼在多年的地方發送電子郵件地址和密碼,我的JSON Web服務的網站,然後獲取給定的信息。我現在試圖發送一些額外的信息用於更新目的,但是當我添加兩個額外的值時,應用程序崩潰。應用程序崩潰的HTTPGET(URL)試圖發送到JSON
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它的工作原理。有人可以告訴我爲什麼添加兩個新值會導致它崩潰,它可能是字符串的大小?
您可以打印錯誤場景的logcat – curious
爲什麼GET請求的URL中有引號? –
我已經刪除了引號,並沒有區別。在java.lang中\t:從logcat的輸出可能不會幫助,但在這裏它是E/AndroidRuntime(638):\t在java.lang.reflect.Method.invokeNative(本機方法) – user616076