edit: VERSION 2 IST DA! SIEHE UNTEN
also der browser und die shoutbox machens folgendermassen:
eingeloggt wird durch eine httppost anfrage nach
<!-- m --><a class="postlink" href="http://www.raise.ch/forum/ucp.php?mode=login">http://www.raise.ch/forum/ucp.php?mode=login</a><!-- m --> mit den values für username, password, redirect=index.php und login=Anmelden (??)
ab hier sinds httpget anfragen
dann gehts zur index.php seite und die wird zuerst mal nach einem "last" wert gefragt, was wohl den letzten post repräsentieren soll. komisch ist aber, dass dieser "last" wert pro post nicht um 1 zunimmt, und dass die posts selbst dann auch noch durchnummeriert sind, aber naja
<!-- l --><a class="postlink-local" href="http://raise.ch/forum/ajax.php?m=check&last=null&rand=randomzahl">ajax.php?m=check&last=null&rand=randomzahl</a><!-- l -->
zu jeder anfrage muss man übrigens noch ein "rand" wert hinzugefügt werden, einfach eine random 5 oder 6 stellige zahl, kA wieso
danach wird nochmal der lastwert abgecheckt, kA wieso und das könnte man evtl weglassen, diesmal schickt man aber den vorher erhaltenen last-wert mit
<!-- l --><a class="postlink-local" href="http://raise.ch/forum/ajax.php?m=check&last=">ajax.php?m=check&last=</a><!-- l -->" + slast1 + "&rand=randomzahl
dann kann man die posts abrufen, also einfach den inputstream ein bisschen parsen und schnipseln und ordnen
<!-- l --><a class="postlink-local" href="http://raise.ch/forum/ajax.php?m=view&start=0&rand=randomzahl">ajax.php?m=view&start=0&rand=randomzahl</a><!-- l -->
so, danach wird eigentlich nur alle 5 sekunden abgecheckt, ob der aktuelle last-wert noch mit dem vorigen übereinstimmt
<!-- l --><a class="postlink-local" href="http://raise.ch/forum/ajax.php?m=check&last=">ajax.php?m=check&last=</a><!-- l -->" + slast1 + "&rand=" randomzahl
und wenn nicht, dann werden wieder posts abgerufen, und zwar nicht nur die neuen, sondern immer die letzten 20
wenn man etwas senden will, dann schickt man eine httppost anfrage mit dem valuepair message=whateva
<!-- l --><a class="postlink-local" href="http://raise.ch/forum/ajax.php?m=add&rand=randomzahl">ajax.php?m=add&rand=randomzahl</a><!-- l -->
komisch hier ist, dass raise eigentlich 3 wichtige cookies hat, aber vor dem einloggen 3 generiert und nach dem einloggen nochmal 3, aber die vorigen nicht löscht. deshalb muss man - komischerweise nur bei diesem schritt - die ersten 3 cookies manuell überschreiben, dass sie wie die zweiten sind. habe lange herumgepröbelt und das hat funktioniert.
-- Beitrag erweitert: 15.06.2010, 00:07 --
also was lange geht, ist die onReturn methode, die bei programmstart bzw. bei rückkehr zum programm abgerufen wird, dort wird jedesmal eingeloggt und alles abgerufen, ich kann auch probieren, dort ein bisschen abzubauen, habs nur der einfachheit (und sicherheit) halber so gelöst. der direkte account wäre natürlich cool, aber nur wenns nicht zuviel aufwand ist und keine sicherheitslücken bringt. wie gesagt, es kann scho noch was getan werden, wenn mans einfach so optimiert
-- Beitrag erweitert: 15.06.2010, 21:34 --
Version 2 ist da =)
WICHTIG: ZUERST DIE ALTE DEINSTALLIEREN, ich hab das blöde key-passwort vergessen und nen neuen machen müssen, ab nächstes mal werdens dann normale updates, versprochen =)
dowload immer noch @ <!-- m --><a class="postlink" href="http://dl.dropbox.com/u/4158060/shoutbox_signed.apk">http://dl.dropbox.com/u/4158060/shoutbox_signed.apk</a><!-- m -->
have fun
code @ <!-- m --><a class="postlink" href="http://dl.dropbox.com/u/4158060/shoutbox.zip">http://dl.dropbox.com/u/4158060/shoutbox.zip</a><!-- m -->
changelog:
umlaute senden und empfangen (f******* umlaute)
links, smileys werden angezeigt, bei bildern wird der link angezeigt
wake-lock eingebaut, das device bleibt an, solange die app im vordergrund ist, ideal zum mitlesen, nicht so ideal für die batterie wenn mans mal mit der app offen irgenwo liegen lässt
problem: alle 5 sekunden freezed es ein bisschen, noch kA wieso