Sono nuovo nello sviluppo di Java e Android e cerco di creare una semplice app che dovrebbe contattare un server Web e aggiungere alcuni dati a un database utilizzando un get http.Http Get using Android HttpURLConnection
Quando eseguo la chiamata utilizzando il browser Web nel mio computer funziona perfettamente. Tuttavia, quando eseguo la chiamata che esegue l'app nell'emulatore Android, non vengono aggiunti dati.
Ho aggiunto l'autorizzazione Internet al manifest dell'app. Logcat non segnala alcun problema.
Qualcuno può aiutarmi a capire cosa c'è che non va?
Ecco il codice sorgente:
package com.example.httptest;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class HttpTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
setContentView(tv);
try {
URL url = new URL("http://www.mysite.se/index.asp?data=99");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.disconnect();
tv.setText("Hello!");
}
catch (MalformedURLException ex) {
Log.e("httptest",Log.getStackTraceString(ex));
}
catch (IOException ex) {
Log.e("httptest",Log.getStackTraceString(ex));
}
}
}
È necessario chiudere la connessione in un blocco finale –
Ho deliberatamente utilizzato le eccezioni generali per evitare che il metodo diventi troppo prolisso. Gli utenti dovrebbero provare e utilizzare quelli più specifici, ove appropriato. – Davos555
Non riesco a trovare quale eccezione viene generata dalla disconnessione? – sttaq