Salut,

Je tente de faire une requete http sur un site web pour récupérer du contenu au format JSON. Mais l'application crash dès le lancement.

Après avoir créer un nouveau projet, les deux seuls fichier que j'ai modifié sont :

  • AndroidManifest.xml, où j'ai rajouté la permission internet : <uses-permission android:name="android.permission.INTERNET" />
  • MainActivity.java, où j'ai rajouté les méthodes pour récupérer faire la requête http, et l'appel à la méthode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
 
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        try {
            URL url = new URL("http://spiritoftrail.fr/android/news.php");
 
            try {
                URLConnection cnx = url.openConnection();
                HttpURLConnection http = (HttpURLConnection) cnx;
 
                if(http.getResponseCode() == HttpURLConnection.HTTP_OK) {
                    InputStream stream = http.getInputStream();
                }
                Toast.makeText(this, "Connexion OK", Toast.LENGTH_LONG).show();
            } catch (IOException e) {
                e.printStackTrace();
            }
 
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
    }
}
ET ca crache au niveau du http.getResponseCode