1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

XML-(De-)Serialisation mit Simple

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Silbär, 30.08.2010.

  1. Silbär, 30.08.2010 #1
    Silbär

    Silbär Threadstarter Neuer Benutzer

    Beiträge:
    20
    Erhaltene Danke:
    0
    Registriert seit:
    11.05.2010
    Moin!

    Ich habe ein paar Daten die ich von einem Webservice abfrage und als XML zurück kommen. Diese möchte ich nun in einem Objekt speichern und habe dafür Simple ins Auge gefasst: Weil es so schön simpel ist. :)

    Leider komme ich nicht weiter, weil mir Eclipse direkt beim ersten Beispiel die Zeile mit dem "serializer.write..." rot untertüdelt und was von einer "Unhandled exception type Exception" brabbelt. Wohlgemerkt im Editor. Zur Laufzeit komme ich gar nicht.

    Da ich sowohl bei Java, als auch bei Android ein absoluter Anfänger bin (beste Voraussetzungen also ;)) komme ich da jetzt nicht mehr weiter. Googlen ist bei dem Namen (wer denkt sich sowas aus!?) auch nicht wirklich einfach.

    Also: Kenn sich jemand mit Simple unter Android aus oder hat jemand einen anderen (leichtgewichtigeren) Vorschlag zur Deserialisierung?

    Silbär
     
  2. Kranki, 30.08.2010 #2
    Kranki

    Kranki Ehrenmitglied

    Beiträge:
    3,831
    Erhaltene Danke:
    814
    Registriert seit:
    19.07.2009
    Tablet:
    Samsung Galaxy Tab 3 7.0 Lite
    Die write Methode deklariert laut der verlinkten Dokumentation, dass sie eine Exception wirft. (Ganz mieser Stil meines Erachtens, aber ist halt so.) Die musst du entweder fangen oder selber deklarieren, dass du die auch einfach nach oben weiterschmeißt.

    Code:
    try {
    (Code)
    } catch (Exception e) {
    (Fehlerbehandlung)
    }
    oder
    Code:
    public void whatever(int parameter) throws Exception {
    (...)
    }
     
    Silbär bedankt sich.
  3. ko5tik, 30.08.2010 #3
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Also,
    Framework ist gut, und basiert auf XStream, aber für mein Geschmack ist es etwas zu Schwer.
    ( 290 K simple, etwa 400K xstream , andere Abhängigkeiten sind nur für Test da )

    Deswegen würde ich es für den Android nicht nehmen ( aber für dem Web oder Fat-Client jederzeit)

    Wenn JSON bei dem Webservice eine Option ist, kann ich meinen wirklich leichten Framework anbieten:

    ko5tik's jsonserializer at master - GitHub
     
  4. Silbär, 30.08.2010 #4
    Silbär

    Silbär Threadstarter Neuer Benutzer

    Beiträge:
    20
    Erhaltene Danke:
    0
    Registriert seit:
    11.05.2010
    Ja, da merkt man, dass ich noch blutiger Anfänger bin. Danke für die Erklärung jetzt funktioniert es.

    Silbär
     
  5. Silbär, 30.08.2010 #5
    Silbär

    Silbär Threadstarter Neuer Benutzer

    Beiträge:
    20
    Erhaltene Danke:
    0
    Registriert seit:
    11.05.2010
    JSON wird auch angeboten, hat aber noch einen Fehler. Deswegen werde ich erstmal die XML-Variante nehmen und das ganze so implementieren, dass man leicht wechseln kann. Aber danke für den Tipp.

    Silbär
     
  6. ko5tik, 31.08.2010 #6
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Meiner Erfahrung nach, fubnktioniert nacktes XStream mit Pull-XML Treiber
    (im Android standartmäßig vorhanden) bereits sehr gut - somit würdest du 290K
    in deinen APK sparen können
     
  7. Silbär, 31.08.2010 #7
    Silbär

    Silbär Threadstarter Neuer Benutzer

    Beiträge:
    20
    Erhaltene Danke:
    0
    Registriert seit:
    11.05.2010
    XStream scheint bei Android nicht dabei zu sein und ist größer als die 290k von Simple.

    Silbär
     
  8. ko5tik, 31.08.2010 #8
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    OK, habe übersehen - XStream ist Test-Scope, also nicht zum Laufen notwendig. Also - 290K , aber immer noch zu groß...
     

Diese Seite empfehlen