Entwicklung für Windows Phone 7 (Teil 3)
Kommentare

Nun werden die bereits definierten Elemente für den App-Namen und -Titel im XAML-Code abgeändert. So wird beim TextBlock-Element mit dem Namen ApplicationTitle der vorhandene Text vom Text-Property durch

Nun werden die bereits definierten Elemente für den App-Namen und -Titel im XAML-Code abgeändert. So wird beim TextBlock-Element mit dem Namen ApplicationTitle der vorhandene Text vom Text-Property durch WP7 Twitter Example ergänzt. Das zweite TextBlock-Element mit dem Namen PageTitle bekommt den Text „Tweets“.

Der nächste Schritt ist das Schmücken der Oberfläche. Es soll möglich sein, einen Twitter-Usernamen einzugeben und dessen Tweets mittels OK-Button in einer ListBox zu laden. Dazu wird die Oberfläche um eine TextBox, einen Button und eine ListBox erweitert. Diese Steuerelemente sind wie gewohnt unter der Toolbox in Visual Studio zu finden. Der TextBox wird der Standardtext entfernt, und der Button bekommt den Content „OK“. Dann werden die Namen der einzelnen Elemente wie folgt abgeändert: Die TextBox erhält den Namen Username, Der Button BnOk und die ListBox TweetsBox. Die Oberfläche der App sollte nun wie in Abbildung 3 aussehen.

Abb. 3: Die Oberfläche mit neuen Elementen ausstatten
Abb. 3: Die Oberfläche mit neuen Elementen ausstatten

Um beim Betätigen des Buttons eine Logik ausführen zu können, muss ein Klickevent abonniert werden. Dies kann mit einem Doppelklick auf den Button erfolgen. Nun wurde in der Code-Behind-Datei der App eine neue Methode erzeugt. Wichtig: Im Normalfall wird bei der Entwicklung von WPF und Silverlight keine Logik in der Code-Behind-Datei hinterlassen. Dazu wird ein Entwurfsmuster MVVM (Model-View-ViewModel) empfohlen. Die Umsetzung des Musters unter Silverlight findet sich bei einem kostenfreien Microsoft Webcast „Silverlight in Deep“ des Autors.

Beim Klick auf den Button muss eine Datenabfrage bei Twitter erfolgen. Twitter ist für Entwickler angenehm offen und bietet dafür einen öffentlichen Web Service an. Für einen Web-Service-Aufruf wird unter .NET ein Proxy benötigt. Für die einfache Abfrage reicht ein leichtgewichtiger Proxy, der von der Klasse WebClient bereitgestellt wird. Die Kommunikation zum Web Service folgt wie gewohnt asynchron. Unter Silverlight-Anwendungen wird dazu eine separate Methode aufgerufen, wenn eine Antwort vom Server erfolgt. Dazu muss ein Event beim Proxy abonniert werden (Listing 1).

private void BnOk_Click(object sender, RoutedEventArgs e)
{
    WebClient proxy = new WebClient();
    proxy.DownloadStringCompleted += ProxyDownloadStringCompleted;
    proxy.DownloadStringAsync(new Uri("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=" + Username.Text));
}

private void ProxyDownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    throw new NotImplementedException();
}  
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -