Android und die Möglichkeiten JSON zu lesen und schreiben

4 Jan

Das Android SDK bietet den Nutzern eine Reihe von vorgefertigten Klassen an, die dem Entwickler über HTTP Zugriff auf Web Ressourcen ermöglichen. Damit meine APP kontextsensitive Informationen über den eingeloggten User erfährt, wird ein GET auf die jeweilige URI aufgerufen. Die Antwort wird dabei als JSON zurückgeliefert. In Android 2 wird das Lesen und Schreiben durch die Klassen org.json.JSONArray und org.json.JSONObject durchgeführt. Android 3 bringt zusätzlich die Möglichkeit, dies durch die Klassen JsonReader und JsonWriter zu erledigen, welche den Vorteil mit sich bringen, dass nicht das komplette JSON als Objekt im Speicher liegen muss.

Vorgehensweise bei Android 2:
Über die Klasse StringBuilder kann die Antwort des Servers, Zeile für Zeile, zu einem String zusammengefügt werden. Diese Zeichenkette wird dann einem Objekt der Klasse JSONArray übergeben. Mit einer for-Schleife lässt sicht daraufhin das Array durchlaufen.

Vorgehensweise bei Android 3:
Dem Objekt der Klasse JsonReader muss ein InputStreamReader übergeben werden. Mit beginObject(), nextName(), nextString() und nextInt lassen sich daraufhin die Werte holen.

Beispiele:
Unter Android 2
Unter Android 3

Ich werde für ginkgo Mobile vorraussichtlich die Möglichkeit über einen JsonReader bevorzugen, da dafür nicht das komplette JSON im Speicher liegen muss. Des weiteren besteht vielleicht die Möglichkeit, dass Teildaten aus einem Paket bereits genutzt werden können, bevor das komplette Paket angekommen ist, was besonders bei langsamen Internetverbindungen ein Vorteil wäre.
Desweiteren besteht unter Android 3 natürlich auch die Möglichkeit die alte Variante zu verwenden. Umgekehrt ist das aber nicht möglich.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: