Traduction▲
Ce tutoriel est la traduction la plus fidèle possible du tutoriel original de Peter Bull, Windows Phone 7 - Simple Twitter® Search Application using Silverlight on Windows Phone 7.
Introduction▲
Tweet Search est une application simple qui vous permet d'effectuer une recherche des tweets contenant une requête particulière avec LINQ et le flux RSS Twitter® Search en utilisant Silverlight sur Windows Phone 7.
Application de recherche Twitter® simple en utilisant Silverlight sur Windows Phone 7▲
Étape 1▲
Démarrez Microsoft Visual Web Developer 2010 Express pour Windows Phone, puis sélectionnez Fichier puis Nouveau Projet… Sélectionnez Visual C# puis Silverlight for Windows Phone puis Application Windows Phone dans les modèles installés, sélectionnez un emplacement si vous le souhaitez, puis entrez un nom pour le projet et appuyez sur OK :
Étape 2▲
Une page Application Windows Phone nommée MainPage.xaml devrait alors apparaître :
Étape 3▲
Sélectionnez Projet puis Ajouter une référence… La fenêtre « Ajouter une référence » devrait apparaître, sélectionnez System.Xml.Linq dans la liste .NET :
Étape 4▲
Ajoutez la référence à System.Xml.Linq en cliquant sur OK.
Sélectionnez Projet puis Ajouter une classe…, et sélectionnez le modèle Classe s'il ne l'est pas déjà, puis changez le Nom à Tweet.cs :
Etape 5▲
Ajoutez la nouvelle classe au projet en cliquant sur Ajouter, puis dans la vue de code pour la nouvelle classe, en dessous du « { » de la ligne public class Tweet tapez ceci :
private
string
_avatar;
private
string
_title;
private
string
_author;
private
DateTime _published;
Étape 6▲
Puisque nous en sommes à la vue de code pour Tweet.cs, en dessous de private DateTime _published; tapez les propriétés suivantes :
public
string
Avatar
{
get
{
return
_avatar;
}
set
{
_avatar =
value
;
}
}
public
string
Title
{
get
{
return
_title;
}
set
{
_title =
value
;
}
}
public
string
Author
{
get
{
return
_author;
}
set
{
_author =
value
;
}
}
public
DateTime Published
{
get
{
return
_published;
}
set
{
_published =
value
;
}
}
Étape 7▲
Retournez au concepteur de vues MainPage en sélectionnant l'onglet MainPage.xaml. Puis dans le volet XAML, entre les lignes <Grid
x
:
Name
=
"ContentPanel"
Grid.
Row
=
"1"
>
et </Grid>
tapez le code XAML suivant :
<Grid
x
:
Name
=
"ContentMain"
>
<Grid.RowDefinitions>
<RowDefinition
Height
=
"80"
/>
<RowDefinition
Height
=
"*"
/>
</Grid.RowDefinitions>
<Grid
x
:
Name
=
"Toolbar"
Grid.
Row
=
"0"
>
<Grid.ColumnDefinitions>
<ColumnDefinition
Width
=
"*"
/>
<ColumnDefinition
Width
=
"Auto"
/>
</Grid.ColumnDefinitions>
<!-- Toolbar -->
</Grid>
<!-- Content -->
</Grid>
XAML :
Design :
Étape 8▲
Puis dans la section Contrôles Windows Phone de la Boîte à outils, sélectionnez le contrôle TextBox :
Étape 9▲
Dessinez un TextBox sur la section barre d'outils (plus petite section supérieure) du Grid sur la page, en dessous du titre de la page, et dans le volet XAML en dessous de la ligne <!-- Toolbar -->, modifiez TextBox1 comme ceci :
<TextBox Grid.
Column
=
"0"
Name
=
"Subject"
/>
Voir ci-dessous :
Étape 10▲
Puis dans la section Contrôles Windows Phone de la Boîte à outils, sélectionnez le contrôle Button :
Étape 11▲
Dessinez un bouton sur la section barre d'outils en glissant le bouton de la Boite à outils sur la section barre d'outils du Grid sur la page, ensuite dans le volet XAML modifiez la ligne Button1 comme ceci :
<Button Grid.
Column
=
"1"
Content
=
"search"
Click
=
"Search_Click"
/>
Voir ci-dessous :
Étape 12▲
En étant toujours dans le volet XAML pour MainPage, en dessous de la ligne <!-- Content--> tapez le code ListBox XAML suivant :
<ListBox Grid.
Row
=
"1"
Name
=
"Results"
>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel
Orientation
=
"Horizontal"
>
<Image
Height
=
"90"
Width
=
"90"
VerticalAlignment
=
"Top"
Margin
=
"5,5,5,5"
Source
=
"{Binding Path=Avatar}"
/>
<StackPanel
Width
=
"340"
>
<TextBlock
TextWrapping
=
"Wrap"
Text
=
"{Binding Path=Title}"
/>
<TextBlock
Text
=
"{Binding Path=Published}"
/>
<TextBlock
FontWeight
=
"Bold"
Text
=
"{Binding Path=Author}"
/>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Voir ci-dessous :
Étape 13▲
Toujours dans le concepteur de vues pour MainPage.xaml, sélectionnez le TextBlock « nom de la page » (PageTitle), ensuite allez dans la boite Propriétés et modifiez la propriété Text à tweet search :
Étape 14▲
Faites un clic droit sur la page ou sur l'entrée pour MainPage.xaml dans l'Explorateur de solutions et choisissez l'option Afficher le code. Dans la vue de code, au-dessus de namespace TweetSearch tapez ceci :
using
System.
Xml.
Linq;
Étape 15▲
Puisque nous en sommes à la vue de code pour MainPage.xaml.cs, au-dessus de public MainPage() tapez les méthodes suivantes :
private
void
Tweets
(
object
Sender,
DownloadStringCompletedEventArgs e)
{
XElement _xml;
try
{
if
(!
e.
Cancelled)
{
_xml =
XElement.
Parse
(
e.
Result);
foreach
(
XElement value
in
_xml.
Elements
(
"channel"
).
Elements
(
"item"
))
{
Tweet _tweet =
new
Tweet
(
);
XNamespace _google =
"http://base.google.com/ns/1.0"
;
_tweet.
Avatar =
value
.
Element
(
_google +
"image_link"
).
Value;
_tweet.
Title =
value
.
Element
(
"title"
).
Value;
_tweet.
Published =
DateTime.
Parse
(
value
.
Element
(
"pubDate"
).
Value);
_tweet.
Author =
value
.
Element
(
"author"
).
Value.
Replace
(
"@twitter.com"
,
""
);
Results.
Items.
Add
(
_tweet);
}
}
}
catch
{
// Ignore Errors
}
}
private
void
Query
(
string
Value)
{
WebClient _client =
new
WebClient
(
);
_client.
DownloadStringCompleted +=
Tweets;
_client.
DownloadStringAsync
(
new
Uri
((
"http://search.twitter.com/search.rss?rpp=50&q="
+
HttpUtility.
UrlEncode
(
Value))));
}
Étape 16▲
Puisque nous en sommes toujours à la vue de code pour MainPage.xaml.cs, au-dessus de public MainPage() tapez le gestionnaire d'évènement suivant :
private
void
Search_Click
(
object
sender,
RoutedEventArgs e)
{
Query
(
Subject.
Text);
}
Étape 17▲
Enregistrez le Projet maintenant que vous avez terminé l'application Windows Phone Silverlight. Sélectionnez l'option Windows Phone Emulator, ensuite sélectionnez Debug puis Démarrer le débogage ou cliquez sur Démarrer le débogage :
Dès que vous l'aurez fait, ce qui suit apparaîtra dans l'émulateur Windows Phone une fois chargé :
Étape 18▲
Appuyez sur le TextBox et ensuite en utilisant le SIP ou le clavier saisissez quelque chose pour effectuer une recherche, puis cliquez sur search pour afficher les cinquante premiers résultats :
Étape 19▲
Vous pouvez ensuite Arrêter l'application en sélectionnant la fenêtre d'application Visual Studio 2010 et en cliquant sur le bouton Arrêter le débogage :
Conclusion▲
Ceci est un exemple très simple pour obtenir des résultats de recherche de Twitter®. Vous pouvez l'utiliser pour rechercher des hashtags ou tout autre texte. Vous pouvez également le modifier afin d'afficher plus de 50 résultats (modifiez la valeur rpp=50) ou personnaliser l'interface - personnalisez-le !
Liens▲
Remerciements▲
Je tiens ici à remercier Peter Bull de m'avoir autorisé à traduire son tutoriel.
Je remercie Nathanael Marchand pour sa relecture technique et ses propositions.
Je remercie également ClaudeLELOUP pour sa relecture orthographique et ses propositions.