In: Afstuderen
3 Mar 2010Zoals bij vele applicaties wordt er gebruik gemaakt van externe data. Bij het ontwikkelen van iPhone applicaties kan er gebruik gemaakt worden van verschillende datasources. Zo kan er onder andere gebruik gemaakt worden van property lists, object archives, SQLite3, Core data en het veelgebruikte XML en JSON.
Voor het gebruiken van XML beschikt de iPhone SDK over een xml parser class genaamd NSXMLParser. In deze class worden verschillende delegate methods aangeboden voor het verwerken van XML bestanden, uitgebreide class notatie. Veel gebruikte delegate methods bij het verwerken van XML zijn:
parser:didStartElement…
De didStartElement wordt gebruikt om van iedere startnode, <startnode>…, in het XML document te lokaliseren. Aan de hand van het localiseren van de startnode kan er een actie uitgevoerd worden. Bijvoorbeeld het aanmaken van een string waarin de content van het xmlelement opgeslagen kan worden.
parser:foundCharacters…
foundCharacters wordt aangeroepen na de didStartElement method en lokaliseerd de inhoud van de xmlnodes, <startnode> gevonden inhoud </endnode>. Nu kan er een actie uitgevoerd worden die er voor zorgt dat de content van de node toegevoegd kan worden aan de string welke is aangemaakt in de didStartElement method.
parser:didEndElement..
Deze method is gelijk aan het didStartElement, alleen zorgt deze method er voor dat de endnode, …</endnode>, wordt gevonden. Mocht de endnode gevonden zijn dan kan er bijvoorbeeld voor gekozen worden dat de string, gemaakt in het didStartElement, toegevoegd wordt aan een array of dictionary.
Net als XML is JSON een datastructuur die veel gebruikt wordt voor het aanbieden van data. JSON wordt eveneens gebruikt bij het ontwikkelen van iPhone applicaties maar is niet opgenomen in de iPhone SDK. De iPhone SDK biedt geen parser voor JSON hetgeen bij XML wel het geval is, NSXMLParser.
Voor het gebruik van JSON binnen een iPhone applicatie is er een JSON framework gemaakt die eenvoudig toegevoegd kan worden aan de iPhone SDK. Voordeel van het JSON framework is dat het eenvoudig aangeroepen kan worden en het JSON bestand correct retourneert. Het enige wat de ontwikkelaar hoeft te doen is het aanleveren van een JSON file, de parser binnen het JSON framework doet de rest.
Daarnaast bestaat er een groot verschil in de notatie van een XML bestand en JSON bestand. Door de structuur die JSON handteerd is de bestandsgrote van een JSON bestand kleiner dan een XML bestand. En vooral op het gebied van iPhone development betekent iedere byte een snellere applicatie.
JSON framework
http://code.google.com/p/json-framework/
Tutorials
http://blog.grio.com/2009/04/dealing-with-json-on-iphone.html
http://letstalkiphone.com/2009/08/using-json-webservices/