Bonjour,
Je viens tout juste de commencer à développer en java, j'ai besoin de faire une application qui récupère le code HTML de page internet. J'ai essayé plusieurs codes sur internet, jamais l'application n'arrive à se connecter sur internet.
En tombant sur ce topic, j'ai vu qu'il fallait rajouter au manifest une permission :
https://openclassrooms.com/forum/sujet/recuperer-les-donnees-d-un-site-web-avec-android
Ce que j'ai rajouté :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="hanakim.comparateur" >
<uses-permission android:name="android.permission.INTERNET" />
<application [...]
Le code qui me pose problème :
public String getTextFromURL(String url)
{
String sortie = "";
try {
URL oracle = new URL("http://www.oracle.com/");
BufferedReader in = new BufferedReader( new InputStreamReader([oracle.openStream()]));
String inputLine;
while ((inputLine = in.readLine()) != null)
sortie += inputLine;
in.close();
}
catch (Exception ex) {
sortie += "Erreur :";
sortie += ex.getMessage();
}
return sortie;
}
La partie de code entre crochet fait inéluctablement planté l'application.
J'ai essayé avec HttpURLConnection, mais quand l'application arrive à la ligne .openConnection();, il plante aussi.
Quelqu'un aurai une idée de mon problème ?
J'ai utilisé un émulateur et un vrai smartphone, dans les deux cas, l'exception affiché est "null". Si je ne mets pas de try catch, l'application plante systématiquement. L'émulateur et le smartphone étaient connectés à internet. Sur le smartphone, quand la requête devait s'effectuer, un message "Protection de la vie privée" apparaissait en haut, sans plus d'explications.
Merci d'avance pour votre aide.