I say: “Hello mobile World!”
by Maddin on Feb.01, 2009, under Technik
Dem Einen oder Anderen habe ich es breits erzählt, nun gibt es auch den ersten “offiziellen” Bericht zu meiner neuen Freizeitspielerei.

Windows Mobile Logo
Ich bin seit Mitte September im Besitz eines T-Mobile MDA Compact IV (HTC Touch Diamond), welches bekanntlich Windows Mobile 6.1 als Betriebssystem verwendet. Damit bietet das Smart Phone (bitte nehmt es mir nicht übel, aber ich sag trotzdem Handy) natürlich viel mehr Möglichkeiten, um eigene Programme für das Handy zu schreiben, als es ein normales Handy bot. Dort musste man auf JavaME zurückgreifen. Windows Mobile 6 bietet dagegen ein eigenes auf .NET basierendes SDK und vereinfacht so die Software Entwicklung.
Zudem fand ich Berichte, dass bereits findige Entwickler, die aus der HTCSensorSDK.dll die entsprechende API über Reverse Engineering verfügbar gemacht haben. Der Gedanke, mit diesen Möglichkeiten mal zumindest etwas herumzuspielen, sodass vielleicht auch später brauchbare Dinge dabei herauskommen, war schnell geboren. Allerdings hinderte dann diverse zeitliche und technische Probleme mich daran, diesen Gedanken umzusetzen.
Gestern habe ich nun endlich mit der Umsetzung begonnen und das Windows Mobile 6 Professional SDK installiert. Als Entwicklungsumgebung nutze ich Microsoft Visual Studio 2008 und schreibe meine Programme in C#. Das SDK bringt eine umfangreiche Dokumentation und Beispielprogramme mit, um jedem einen guten Einstieg zu ermöglichen. Grundkenntnisse der Programmierung in C# sind natürlich empfehlenswert. Ein für das Debugging der geschriebenen Software unerlässliches Feature ist der Windows Mobile 6 Device Emulator.

Windows Mobile 6 Emulator
Auf dieser Emulation des tatsächlichen Smartphones kann man die geschriebene Software deployen und ausführen. In Verbindung mit Visual Studio 2008 ist auch das gewohnte Step-by-Step Debugging möglich, sodass sich Fehler einfach identifizieren lassen sollten. Zudem verhindert der Emulator, dass man eine fehlerhafte Software auf seinem Handy ausführt und so gegebenfalls Daten vernichtet oder andere Schäden am System verursacht werden.Für meinen ersten Versuch ein lauffähiges Programm zu schreiben, habe ich mich erstmal vom oben genannten SensorSDK ferngehalten. Erstmal sollen ja die Basics stehen.
Jeder, der schon einmal ein Lehrbuch zum Erlernen einer neuen Programmiersprache in der Hand gehabt hat, weiß, wie das erste Programm in aller Regel ausschaut: “Hello World!”. Da für mich die Sprache C# an sich nicht neu ist, sondern nur die Umgebung, auf der die Software läuft, war ich so frei, diesen Standardsatz in “Hello mobile World!” zu modifizieren. Ich wollte es aber auch nicht bei einer banalen Ausgabe belassen, sondern ein ganz klein wenig Funktion sollte schon da sein. Deshalb wird bei Start des Programms neben der Weltbegrüßung noch “Application started at <date/time>” ausgegeben. Am unteren Bildschirmrand erscheinen 2 Menüeinträge: “Change Color”, “Quit”. Während ich sicher niemandem erzählen muss, welchen Zweck der Quit-Button erfüllt, ist auch der andere Button selbsterklärend. Bei Betätigung wird die unten dargestellte Farbänderung vorgenommen und anstatt “Application started…” wird “Colors changed at <date/time>” ausgegeben.
Das sind Screenshots vom Emulator, als mein Hello World Programm lief. Aber ich habe es auch schon auf meinem Handy getestet und auch da funktioniert es. Ein erster Erfolg, wenn gleich das Programm nix besonderes ist.
Ich hoffe mal, dass ich baldigst mit weiteren Berichten dazu aufwarten kann, dann hoffentlich auch mit funktional umfangreicheren Programmen.
Zusammenfassend lässt sich jedoch sagen, dass das SDK sich gut handhaben lässt und C# natürlich auch eine sehr bequeme Sprache für die Entwicklung ist.
Maddin



February 1st, 2009 on 23:00
Wünsch dir viel Erfolg. Ich wünsche mir auch mal ne “schöne” SDK für SymbianS60, nicht diesen Schrott, den Nokia da verbreitet…
Und solang das nicht passiert muss ich mich halt mit JavaME rumschlagen. Das ist zwar nicht ganz so “featuregeladen” wie andere SDKs, aber zumindest läuft etwas.
Nochwas: Mit was hast du das Video erstellt + publiziert?
February 2nd, 2009 on 06:57
Das Video ist mit meiner Digitalkamera aufgenommen. Da hatte es auch noch eine bessere Qualität. Hab dann das Video mit nem Converter in FLV umgewandelt und dann schnell in Flash importiert, um wiederum diese Titelseite davorzusetzen (damit das Video net in Endlosschleife läuft.
Dabei entstand eine swf-Datei, die ich dann hier im Media-Bereich hochgeladen habe und dann wie ein youtube-Video im Post eingebettet habe.
February 2nd, 2009 on 09:38
Ahja, also so ganz zu Fuß. Ich bin da eher Fan vom einfachen Weg mit den Videoseiten (wobei ich von youtube abgekommen bin).
February 3rd, 2009 on 18:31
Du hast Recht gehabt!!
Mich hat das Thema wirklich nicht brennend interessiert und ich habe es auch kaum verstanden. So in der Mitte des Beitrags kam in meinem Gehirn nur noch Buchstaben-Wirrwarr an.
ABER ich bin und bleibe trotzdem eine treue Leserin! ;)
February 11th, 2009 on 20:53
Zunächst einmal danke ich meiner Kleenen, dass sie trotzdem Leserin bleibt :) Ich versuche mal demnächst auch wieder mehr alltägliche Artikel zu schreiben.
An den Herrn Xp:
Mag sein, dass Youtube der einfachere Weg ist. Aber ich hab keinen Bock meine Videos dort irgendwie einzustellen… weil dann kann da wieder jeder Kommentare posten und darauf hab ich keinen Bock.
So gehts auch^^
btw: ich bastel ja derzeit schon an der nächsten Applikation… bzw. sie ist fast fertig. 2 Funktionalitäten fehlen noch. ;)
February 19th, 2009 on 18:10
[...] (im Gegensatz zu der schrecklichen SDK von Symbian S60; jetzt muss ich nicht mehr neidisch auf das .NET Compact Framework [...]
February 19th, 2009 on 18:13
Nochmal zu Youtube (hab grad erst den neuen Kommentar gesehen): Dir ist bekannt, dass man da die Kommentare deaktivieren kann?
Ich bevorzuge übrigens grade “Vimeo”, nicht nur wegen der besseren Video-Qualität (Youtube holt zwar solangsam auf, aber naja), sondern auch wegen dem aufgeräumteren Interface…
February 21st, 2009 on 20:07
Vielen Dank für die gute Beschreibung. Auch ich habe vor n kleines Freizeitprojekt mit C# und meinem Diamond zu starten.
Hast Du ne Ahnung, ob man via C# auch dasa GPS-Modul ansprechen kann, und ob sich Telefoniefunktionen nutzen lassen für z.B. den Versand einer SMS?
February 22nd, 2009 on 10:29
Hallo Michael!
Erstmal find ichs natürlich sehr toll, dass auch Leute von außerhalb auf mein Blog finden, da sie sich auch für derartige Dinge wie WM-Programmierung interessieren.
Zu deiner Frage:
Ich kann aus eigener Erfahrung leider noch nix dazu sagen, da ich immernoch am Anfang stehe und mich erstmal auf so kleinere nützliche Tools stürzen wollte, bevor ich dann weiter gehe.
Was ich aber sagen kann: Im Samples-Ordner, der mit dem WM6 Professional SDK mitgeliefert wird, gibt es im Unterordner PocketPC/CS/ einen Ordner GPS.
Bei den Telefoniefunktionen weiß ich es leider auch nicht.
Ich hoffe das bringt dich etwas weiter.
Gruß
Maddin
November 3rd, 2010 on 21:50
nice subject. Can you tell me more websites about it.
December 15th, 2010 on 18:31
I’ve reckoned many web logs and I can for certain state that this one is my front runner .
March 27th, 2011 on 09:18
Wahre Worte! Danke für diesen klasse Beitrag!
May 25th, 2011 on 02:56
Thanks a lot. That was interesting knowing
June 17th, 2011 on 16:31
Es ist der Skandal!
June 18th, 2011 on 02:25
Thanks for your info!
June 18th, 2011 on 07:20
I couldent have made the point any clearer than that. Somepeople will still have there own outlooks on this subject.
June 20th, 2011 on 09:50
In the grand scheme of things you get an A+ for effort. Where you lost me was in the details. As they say, details make or break the argument.. And it could not be more true here. Having said that, let me tell you what did work. Your writing is very persuasive and that is probably why I am taking the effort to comment. I do not make it a regular habit of doing that. Second, while I can see the jumps in logic you make, I am not sure of how you seem to connect the points which make the conclusion. For now I shall subscribe to your point but hope in the future you connect the dots better.
June 20th, 2011 on 13:23
Blogs ou should be reading…
[...]Here is a Great Blog You Might Find Interesting that we Encourage You[...]……
June 22nd, 2011 on 20:58
Howdy! This post couldn’t be written any better! Reading this post reminds me of my old room mate! He always kept chatting about this. I will forward this write-up to him. Fairly certain he will have a good read. Thank you for sharing!
June 26th, 2011 on 14:55
I do not even know how I ended up here, but I thought this post was good. I don’t know who you are but certainly you are going to a famous blogger if you aren’t already ;) Cheers!
August 6th, 2011 on 00:40
Wow, fantastic blog layout! How long have you been running a blog for? you make blogging look easy. The whole look of your website is magnificent, neatly as the content!
August 9th, 2011 on 03:07
[url=http://promtex.biz]ООО ПромТекс [/url]
August 10th, 2011 on 05:54
Undeniably believe that which you stated. Your favorite reason seemed to be on the net the easiest thing to be aware of. I say to you, I certainly get irked while people consider worries that they plainly don’t know about. You managed to hit the nail upon the top as well as defined out the whole thing without having side effect , people can take a signal. Will likely be back to get more. Thanks