Was bringt Windows Phone 7.1 (Teil 6)
Kommentare

Wichtig ist hier, dass sowohl das Senden als auch Empfangen von Daten asynchron realisiert wird. Der Rest ist eigentlich Standard-Berkeley-Socket-Code. Der Socket wird initialisiert und mit Listen zum

Wichtig ist hier, dass sowohl das Senden als auch Empfangen von Daten asynchron realisiert wird. Der Rest ist eigentlich Standard-Berkeley-Socket-Code. Der Socket wird initialisiert und mit Listen zum Lauschen eingeteilt. Wenn sich ein Client mit dem Server verbindet, wird der Callback AcceptCallback aufgerufen, der die Verbindung weiterverarbeitet. Interessant ist die Aufteilung des Accept-Aufrufs in BeginAccept und EndAccept. Eine derartige Aufteilung findet sich in dem .NET Socket API häufiger (Listing 7).

Listing 7

public static void AcceptCallback(IAsyncResult ar)
    {
        // Signal the main thread to continue.
        allDone.Set();

        // Get the socket that handles the client request.
        Socket listener = (Socket)ar.AsyncState;
        Socket handler = listener.EndAccept(ar);

        // Create the state object.
        StateObject state = new StateObject();
        state.workSocket = handler;
        handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
            new AsyncCallback(ReadCallback), state);
    }  

Große Datenmengen unter einen Hut bringen

Ein weiteres und höchst ärgerliches Manko in Windows Phone 7.0 war die Entfernung des überaus populären mobilen SQL-Servers, der unter Windows Mobile das Handhaben großer Datenmengen signifikant erleichterte. Obwohl Mango den SQL-Server nicht zurückbringt, erleichtert das als „Local Database“ bezeichnete Framework die Arbeit mit lokalen Daten. Von Local Database erstellte Datenbanken laufen im Prozess der eigenen Anwendung, residieren im Isolated Storage (d. h. es ist nicht möglich, sie mit anderen Anwendungen zu teilen) und können ausschließlich mit LINQ to SQL angesteuert werden (also keine klassischen SQL-Statements). Da LINQ to SQL keine Windows-Phone-spezifische Erfindung ist, sei hier auf die einschlägige Dokumentation verwiesen.

Profilfunktionen

Visual Studio 2010 bietet umfangreiche Profiling-Funktionen an. Diese wurden mit dem Mango-SDK zumindest teilweise auch für Windows Phone aktiviert. Wer seine Anwendung profilen will, startet den Profiler mit Klick auf Debug -> Start Windows Phone Performance Analysis.

Die Anwendung kann danach durch Klick auf Launch Application gestartet werden. Sie erscheint sodann im Emulator, wo die zu testenden Prozesse von Hand durchgeführt werden. Nach dem Beenden der Anwendung zeigt Visual Studio die durch das Profiling gewonnenen Daten grafisch an (Abb. 5).

Abb. 5: Diese Debugging Session dauerte nur sechs Sekunden
Abb. 5: Diese Debugging Session dauerte nur sechs Sekunden

Man kann in dieser Ansicht einzelne Bereiche markieren, um Informationen über interessante Vorkommnisse in diesem Zeitabschnitt zu erhalten. Wer die einzelnen Farben aufgeschlüsselt haben will, muss den Mauszeiger kurz über den Kopf der Rubrik halten.

Welcome back, VB!

Zu guter Letzt seien alle Visual-Basic-Programmierer darauf hingewiesen, dass Visual Basic nun ein vollwertiger Teil des Windows-Phone-Ökosystems geworden ist. Wer sich die Entwickler-Tools für Mango herunterlädt, bekommt automatisch auch Visual Basic mitinstalliert – komfortabler geht es kaum.

Fazit

Damit endet unsere kleine Reise ins Land der tropischen Früchte. Im nächsten Teil des Artikels werden wir uns mit den Neuerungen auf GUI-Ebene befassen. Freuen Sie sich auf Beispiele zu faszinierenden Themen wie z. B. der Kamera des Smartphones.

Trotz aller Euphorie sei jedem Leser dieses Magazins zuletzt noch ein guter Rat mit auf den Weg gegeben: Der Erfolg einer Plattform entscheidet sich nicht allein durch das Umwerben von Entwicklern. Der Windows Phone Marketplace ist in der letzten Zeit geradezu explosiv gewachsen, während sich Windows Phone 7 einen verzweifelten Kampf mit webOS um den letzten Platz auf der Marketshare-Liste liefert. Vorsicht tut deshalb Not!

Tam Hanna befasst sich seit der Zeit des Palm IIIc mit Programmierung und Anwendung von Handcomputern. Er entwickelt Programme für diverse Plattformen und betreibt außerdem mehrere populäre Onlinenewsdienste zum Thema.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -