httpGet 또는 httpPost를 사용하여 일부 매개 변수를 내 서버에 보내고 클라이언트가 내 서버에 연결되어 있으면 제대로 작동합니다. 하지만 그렇지 않은 경우 내 앱이 다운됩니다. 그러나, 나는 시도/캐치가 ... 내 코드에서서버가 연결되지 않은 경우 왜 내 응용 프로그램이 중단됩니까?
봐 :
((ImageButton)findViewById(R.id.pickSurnom)).setOnClickListener(new OnClickListener(){
public void onClick(View v) {
AlertDialog.Builder alert = new AlertDialog.Builder(Postit.this);
alert.setTitle("Modifier votre surnom");
//alert.setMessage("Message");
// Set an EditText view to get user input
final EditText input = new EditText(Postit.this);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String surnom = input.getText().toString();
//Recuperation "id" du user dans les préférences partagées
SharedPreferences prefs = getPreferences(Context.MODE_PRIVATE);
String id = prefs.getString("id", null);
//------------------------ENVOI----------------------------
StringBuffer stringBuffer = new StringBuffer("");
BufferedReader bufferedReader = null;
try {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet();
//httpGet.setURI(new URI("http://192.168.0.1:8888/user/public"+"?"+"surnom="+((TextView) findViewById(R.id.surnom)).getText().toString()));
httpGet.setURI(new URI("http://192.168.0.1:8888/user"+"?"+"id="+id+"surnom="+ surnom));
HttpResponse httpResponse = httpClient.execute(httpGet);
bufferedReader = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String ligneLue = bufferedReader.readLine();
Toast.makeText(getApplicationContext(), "id="+bufferedReader.readLine() , Toast.LENGTH_LONG).show();
while (ligneLue!=null){
stringBuffer.append(ligneLue);
ligneLue = bufferedReader.readLine();
//Si la réponse = True
//Remplir le bon surnom dans le TextView
((TextView) findViewById(R.id.surnom)).setText(surnom);
}
} catch (Exception e){
Toast.makeText(getApplicationContext(), "Connection error", Toast.LENGTH_LONG).show();
Log.e("Exception1", e.getMessage());
} finally {
if (bufferedReader !=null){
try{
bufferedReader.close();
Toast.makeText(getApplicationContext(), "Serveur indisponible" + surnom, Toast.LENGTH_LONG).show();
} catch (IOException e){
Log.e("Exception2", e.getMessage());
}
}
}
Log.i("Exception3", stringBuffer.toString());
내 로그 캣
01-17 15:45:00.801: ERROR/ActivityManager(58): ANR in com.branchu1 (com.branchu1/.Postit)
01-17 15:45:00.801: ERROR/ActivityManager(58): Reason: keyDispatchingTimedOut
01-17 15:45:00.801: ERROR/ActivityManager(58): Load: 0.5/0.18/0.08
01-17 15:45:00.801: ERROR/ActivityManager(58): CPU usage from 32503ms to 56ms ago:
01-17 15:45:00.801: ERROR/ActivityManager(58): system_server: 19% = 15% user + 3% kernel/faults: 2075 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): ndroid.launcher: 3% = 2% user + 0% kernel/faults: 1554 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): adbd: 1% = 0% user + 0% kernel
01-17 15:45:00.801: ERROR/ActivityManager(58): ndroid.settings: 0% = 0% user + 0% kernel/faults: 124 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): m.android.phone: 0% = 0% user + 0% kernel/faults: 56 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): ronsoft.openwnn: 0% = 0% user + 0% kernel/faults: 43 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): logcat: 0% = 0% user + 0% kernel/faults: 1 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): events/0: 0% = 0% user + 0% kernel
01-17 15:45:00.801: ERROR/ActivityManager(58): android.protips: 0% = 0% user + 0% kernel/faults: 23 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): zygote: 0% = 0% user + 0% kernel/faults: 135 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): .quicksearchbox: 0% = 0% user + 0% kernel/faults: 27 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): id.defcontainer: 0% = 0% user + 0% kernel/faults: 24 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): com.android.mms: 0% = 0% user + 0% kernel/faults: 25 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): m.android.music: 0% = 0% user + 0% kernel/faults: 23 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): d.process.media: 0% = 0% user + 0% kernel/faults: 25 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): m.android.email: 0% = 0% user + 0% kernel/faults: 34 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): com.svox.pico: 0% = 0% user + 0% kernel/faults: 23 minor
01-17 15:45:00.801: ERROR/ActivityManager(58): +com.branchu1: 0% = 0% user + 0% kernel
01-17 15:45:00.801: ERROR/ActivityManager(58): -com.branchu1: 0% = 0% user + 0% kernel
01-17 15:45:00.801: ERROR/ActivityManager(58): TOTAL: 33% = 25% user + 8% kernel + 0% softirq
'logcat'을보고 어떤 충돌 줄을 보았습니까? – xil3
더 많은 정보가 필요합니다. 오류에 대한 더 많은 정교함을 줄 수 있습니까? –
나는 logCag로 게시물을 편집했습니다 – user420574