Dieser Beitrag wird eine Reihe von (hoffentlich) vielen Titanium Developer Beiträgen einleiten, und das aus einem einfachen Grund: so toll das System auch ist, es braucht viele Kniffe, um die eigene App zum Laufen zu bekommen.
Für alle, die nicht wissen, was Titanium Developer ist: Einfach gesagt handelt es sich dabei um ein Framework+Runtime, mit welchem man mittels Javascript Handy-Apps programmieren kann, welche dann auf iPhone/iPod Touch/iPad und Android laufen. Dabei geht nicht allzuviel Performance verloren UND man erhält zum Schluss eine native App für das jeweilige Zielsystem. Weiter Infos unter appcelerator.com
Aber kommen wir zurück zum Thema. Normalerweise parsed man Json Daten unter Titanium mittels
var jsonVar = JSON.parse(daten);
und erhält dann das Datenobjekt zurück. Leider funktioniert dies nur unter den iOS Geräten, nicht aber unter Android. Also wandelt man seinen Befehl folgendermaßen um:
var jsonVar = eval('(' + daten + ')');
Natürlich ist eval immer mit Vorsicht zu genießen, da hier sämtliche Befehle ohne nachzufragen ausgeführt werden. Sichert also bitte vorher in irgendeiner Form ab, dass die erhaltenen Daten keinen Schadcode enthalten. Da ihr aber in den meisten Fällen sowieso mit einer von euch bereitgestellten API auf eurem Server kommunizieren werdet, sollte dies nicht ein allzu großes Problem sein.