Récupérer et afficher une info d'un site web
Bonjour,
Je veux afficher une information présente sur un site web dans mon appli quand on clique sur un bouton. Ca parait simple mais je fais surement une erreur quelque part car n'y parvient pas. En fait j'ai une activité qui possède un bouton (MainActivity), une activité qui contiendra le contenu récupéré (Page2) et j'ai crée une autre classe pour la méthode récuperer.
J'ai ajouté 2 permissions dans le fichier manifest:
Code:
1 2
| <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
Le mainActivity redirige vers la page 2 lors du clique sur le bouton.
Dans le onCreate de Page2 j'ai (t1 c'est le TextView où je vex afficher le contenu récupéré):
Code:
1 2 3 4 5 6 7
|
try {
t1.setText(RecupereEtat.recupere());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} |
Et sur ma classe RecupereEtat j'ai:
Code:
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| public abstract class RecupereEtat {
public static String recupere() throws IOException
{
//métode en utilisant Jsoup
String contenu="";
try{
String url = "lurl";
Document doc = Jsoup.connect(url).get();
Element laclasse = doc.select("td.font_accueil_REPOS").first();
contenu= laclasse.text();
}catch(Exception e){
contenu="erreur";
}
//méthode 2
try {
URL url = new URL("lurl");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.connect();
readStream(con.getInputStream());
} catch (Exception e) {
contenu="pas ok";
e.printStackTrace();
}
return contenu;
private static void readStream(InputStream in) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
} |
J'espère que vous verrez mon erreur, ou me conseillerai une autre manière de le faire. Je vous remercie d'avance pour toute aide.