Daten von Internetseite importieren?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von dannywilde, 07.05.2011.

  1. dannywilde, 07.05.2011 #1
    dannywilde

    dannywilde Threadstarter Neuer Benutzer

    Beiträge:
    19
    Erhaltene Danke:
    0
    Registriert seit:
    10.03.2011
    Hallo Community,

    ich habe folgendes Problem:

    Auf meiner Website veröffentliche ich irgendwelche Daten in textform, die täglich aktualisiert werden.
    Jetzt habe ich eine App geschrieben, wo ich diese Daten nutzen will.
    Wie kann ich die Daten aus dem Internet in meine App laden?

    Gibt es dafür vielleicht irgendwo ein tutorial? (Habe keins gefunden)

    Habt ihr sonstige Methoden/Vorschläge, wie man das machen könnte?

    PS: Es ist selbstverständlich nicht gemeint, dass die Internetseite in einem Browser geöffnet werden soll.
    Vielmehr soll z.B. ein TextView einen bestimmten Text von der Homepage anzeigen, der täglich verändert wird.

    Danke für die Hilfe.
     
  2. Ciraxis, 08.05.2011 #2
    Ciraxis

    Ciraxis Neuer Benutzer

    Beiträge:
    6
    Erhaltene Danke:
    0
    Registriert seit:
    28.06.2010
    stichwort lautet ajax wenn du nur bestimmte teile einer seite laden möchtest ;)
     
  3. miha, 09.05.2011 #3
    miha

    miha Fortgeschrittenes Mitglied

    Beiträge:
    294
    Erhaltene Danke:
    43
    Registriert seit:
    12.01.2010
    Die ideale Vorgehensweise wäre wohl eine Datenbank für deine Inhalte die dann von Webseite und App benutzt wird.

    Du kannst natürlich auch die Webseite als String einlesen und dir rausholen was du brauchst - da es deine Webseite ist wird es dir ja leichtfallen die richtigen Daten zu finden oder sogar zu markieren.
    Beispiel dafür für dich gegoogelt: Read remote HTML into a String with Android.
     
  4. ChemDroid, 09.05.2011 #4
    ChemDroid

    ChemDroid Gast

    Meinst du mit den Daten in Textform eine Art API speziell zur Informationsweitergabe an deine App? So habe ich es z.B. bei einer meiner Apps gelöst, um Traffic zu sparen.

    Falls du also einen Datenstring einfach einlesen und weiterverarbeiten willst, machst du das wie folgt:

    Ich habe z.B. einen Datenstring mit bestimmten Trennzeichen, der von der API ausgegeben wird: "Key1;Value1|Key2;Value2"
    Code:
    try {
        URL url = new URL("http://example.com");
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(url.openStream()));
        String line = "";
        while ((line = bufferedReader.readLine()) != null) {
            // Code zur Verarbeitung der Zeile
            String[] keyValueString = line.split("\\|");
            String[] keyValue1 = keyValueString[0].split(";");
            String[] keyValue2 = keyValueString[1].split(";");
            // Arbeite mit diesen Werten weiter...
        }
    } catch (MalformedURLException e) {
        // fange Fehler ab
    } catch (IOException e) {
        // fange Fehler ab
    } catch ArrayIndexOutOfBoundsException e {
        // fange Fehler ab
    }
    Der bufferedReader list zeilenweise den Quelltext aus, den die Seite wiedergibt. Diese Zeilen (String line) kannst du dann einfach bearbeiten, in meinem Falle splitte ich den Datenstring anhand der Trennzeichen wieder in seine einzelnen Bestandteile auf und arbeite mit diesen Werten dann in der App.
     
  5. ErDa, 11.05.2011 #5
    ErDa

    ErDa Android-Hilfe.de Mitglied

    Beiträge:
    90
    Erhaltene Danke:
    12
    Registriert seit:
    30.03.2010
    Tablet:
    Nexus 7 (2013)
    Wie ChemDroid schon richtig sagte wäre da ein API gut geeignet. Allerdings kann man als Datenformat z. B. JSON verwenden, das lässt sich zum einen gut erzeugen (bei PHP z. B. sehr einfach mit json_encode) und zum zweiten in Java mit JSONArray und JSONObject auslesen.
     

Diese Seite empfehlen