使ってみよう! Bing API/SDK

第22回 使ってみよう! Bing API──Silverlight編(2)

この記事を読むのに必要な時間:およそ 5 分

はじめに

今回もSilverlightからBing APIを使ってみましょう。

4月12〜14日に,ラスベガスでMicrosoftの開発者やデザイナー向けのカンファレンスMIX11が開催されました。MIX11でSilverlightの新しいバージョン,Silverlight 5 Betaが公開されています。今回もSilverlightを使用しますので,せっかくなのでSilverlight 5 Betaの内容にも少しふれた内容にしています。残念ながら,注目度の高い3Dやサウンド関連の機能にはふれていません。ちなみにMIX11ではBingに直接関連する発表や内容はありませんでした。

開発環境

開発環境については,前回を参照してください。Visual Studio 2010(またはVisual Web Developer Express 2010Silverlight 4 Tools for Visual Studio 2010を使用します。また,Rx for Silverlight 4も非同期通信処理に使用します。

Silverlight 5 Beta

Silverlight 5 Betaを使用する場合,次の手順でインストールを行ってください。

  1. Visual Studio 2010 Service Pack 1をインストールしていない場合,インストールします。

  2. Silverlight 5 Beta Tools for Visual Studio 2010 Service Pack 1をインストールします。

  3. Silverlight 5 Betaを対象としたExpression Blend Preview for Silverlight 5も公開されています(英語版のみ)⁠連載では使用しませんが,ぜひこちらも体験してみてください。

アプリケーションの作成

それでは,Silverlightアプリケーションを作成しましょう。Silverlightアプリケーションプロジェクトの作成からBing APIのサービスの参照までについても,前回を参照してください。次のことを順に行っていました。今回も言語はVisual Basicを使用します。

  • Silverlightアプリケーションプロジェクトの作成(Visual Basic)
  • ライブラリーの参照を追加
  • Bing APIサービスの参照を追加

Silverlight 5 Betaをインストールしていると,プロジェクト作成時に選択できるSilverlightのバージョンにSilverlight 5が追加されています。ここまで完了すると,プロジェクトでBingPortTypeClientというクラスが自動生成され,利用可能な状態になります。

画面作成とコードの記述

前回に作成したWebサイトの検索と同等のアプリケーションのひな形を作成します。前回の内容も併せて参照してください。

画面は,次のようなXAMLのコードを記述します。<Grid>要素部分のみ示しています。

MainPage.xaml

<Grid x:Name="LayoutRoot" Background="White">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition />
    </Grid.RowDefinitions>
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition Width="Auto" />
        </Grid.ColumnDefinitions>
        <TextBox x:Name="QueryTextBox" Margin="5" />
        <Button x:Name="SearchButton" Grid.Column="1" Margin="5" Width="80"
                Content="検索" />
    </Grid>
    <ListBox x:Name="ResultListBox" Grid.Row="1" Margin="5">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Title}" />
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
</Grid>

続いて,API呼出しや表示設定を行うコードです。

MainPage.xaml.vb

Partial Public Class MainPage
    Inherits UserControl

    Public Sub New()
        InitializeComponent()
        AddHandler SearchButton.Click, Sub() Search(QueryTextBox.Text)
    End Sub

    Private Sub Search(ByVal query As String)
        If query = "" Then
            ' クエリーが指定されていない場合は処理を抜ける
            Exit Sub
        End If

        Dim client = New BingPortTypeClient

        ' (ここに Bing API の呼び出し処理を記述)

    End Sub
End Class

以上で準備完了です。

著者プロフィール

松江祐輔(まつえゆうすけ)

日本システムウエア株式会社 勤務。現在,ハードウェア設計・検証業務を担当。大学生・大学院生時代はベンチャー企業 有限会社ミレニアムシステムズにプログラマーとして従事。趣味はプログラミング。好きな言語はVisual Basic。Microsoft MVP for Windows Live Platform(Jul 2010 - Jun 2011),Windows Live(Jul 2011 - Jun 2013)。

URL:http://katamari.jp

コメント

コメントの記入