Nils
- Forum-Beiträge: 8
12.12.2012, 20:41:40 via Website
12.12.2012 20:41:40 via Website
Hallo,
Ich arbeite gerade mit meinem Informatikkurs in der Schule an einer Androidapp für unseren Vertretungsplan.
Dazu soll von der Webseite der Schule der Quelltext der Seite geparsed werden und dann mit Hilfe der split Methode der relevante Inhalte herausgezogen werden.
Das Laden des Quelltext erfolgt so:
Dies funktioniert auch optimal.
Als nächstes soll nun der Quelltext verarbeitet werden:
Hat jemand eine Idee wie man dieses Problem lösen kann?
Gruß,
Nils
Ich arbeite gerade mit meinem Informatikkurs in der Schule an einer Androidapp für unseren Vertretungsplan.
Dazu soll von der Webseite der Schule der Quelltext der Seite geparsed werden und dann mit Hilfe der split Methode der relevante Inhalte herausgezogen werden.
Das Laden des Quelltext erfolgt so:
1private class BackgroundTask extends AsyncTask<Void, Void, String> {
2 @Override
3 protected String doInBackground(Void... params) {
4
5 String line ="";
6 String quelltext ="";
7
8 try{
9 final String meineURL="...";
10
11
12 URL url = new URL(meineURL);
13 InputStreamReader isr = new InputStreamReader(url.openConnection().getInputStream());
14 BufferedReader br = new BufferedReader(isr);
15
16 // Kompletten Seiteninhalt auslesen
17 while((line = br.readLine()) != null){
18 quelltext = quelltext + line;
19 }
20 // reader schliessen
21 br.close();
22 isr.close();
23 }
24 catch(Exception e){
25 e.printStackTrace();
26 }
27 return quelltext;
28 }
29 }
2 @Override
3 protected String doInBackground(Void... params) {
4
5 String line ="";
6 String quelltext ="";
7
8 try{
9 final String meineURL="...";
10
11
12 URL url = new URL(meineURL);
13 InputStreamReader isr = new InputStreamReader(url.openConnection().getInputStream());
14 BufferedReader br = new BufferedReader(isr);
15
16 // Kompletten Seiteninhalt auslesen
17 while((line = br.readLine()) != null){
18 quelltext = quelltext + line;
19 }
20 // reader schliessen
21 br.close();
22 isr.close();
23 }
24 catch(Exception e){
25 e.printStackTrace();
26 }
27 return quelltext;
28 }
29 }
Dies funktioniert auch optimal.
Als nächstes soll nun der Quelltext verarbeitet werden:
1String[] s1 = quelltext.split("Anmerkung</th></tr>" );
2 s1 = s1[1].split("<td class=\"list inline_header\" colspan=\"9\" >");
Wenn ich nun mein Handy über Wlan verbunden habe, funktionieren die beiden split Anweisungen. Doch falls ich mobile Daten nutze, wird beim zweiten split ein Array mit dem original String zurückgegeben. Wenn man sich den Quelltext per Log anzeigen lässt ist dieser über Wlan und mobile Daten identisch.2 s1 = s1[1].split("<td class=\"list inline_header\" colspan=\"9\" >");
Hat jemand eine Idee wie man dieses Problem lösen kann?
Gruß,
Nils
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.