連載 .NETでモバイル・サイト開発を始めよう 第2回 携帯サイトの「ドコモ、au、SoftBank」への対応 シグマコンサルティング 菅原 英治2007/04/13 |
|
|
○3.1.3. カスタム・コントロールの利用
続いて、この絵文字コントロールをモバイルWebフォームで利用してみる。
まず、下の画面の手順に従って、カスタム・コントロールをVisual Studio 2005(以下、VS 2005)のツールボックスに登録する。
ツールボックスへの登録が終わったら、ここで新規にモバイルWebフォーム(m002.aspx)を、Webサイト・プロジェクト「D:\mobile\」内に追加作成する(その際、「モバイル Web フォーム」の項目テンプレートを使わなければならないので間違えないように注意してほしい)。そして、先ほど作成したPictogramカスタム・コントロールをそのフォーム上に配置する。これには、ツールボックスからドラッグ&ドロップすればよい。
新規モバイルWebフォーム(m002.aspx)の作成とカスタム・コントロールの追加 | ||||||
モバイルWebフォームを新規に追加し、それにカスタム・コントロールを追加したところ。 | ||||||
|
次に、au携帯から接続された場合に備え、“isAu”デバイス・フィルタを追加しておこう。これにはWeb.configに下記のコードを追記する。ここでは便宜的に、au用シミュレータのOpenwave SDKで接続されたときのブラウザ情報として定義した。
<filter name="isAu" compare="Browser" argument="Phone.com"/>
|
続いて、モバイルWebフォーム(m002.aspx)内のPictogramカスタム・コントロールのタグ内部に、下記の(太字の)コードを追記する。
|
|
モバイルWebフォーム(m002.aspx)に追記するコード | |
キャリア種別によりCarrier属性を決定するように設定する。 |
このコードでは、デバイス・フィルタを利用してキャリア種別の切り分けを行い、配置したPictogramカスタム・コントロールのCarrierプロパティに対し適切な値(“Docomo”“Au”“SoftBank”)を設定している。これにより、先ほどPictogramクラスのOnRenderメソッドに実装したレンダリング処理で、適切な絵文字を出力してくれるようになるはずだ。
また、デバイスがどのキャリアにも該当しない場合は、Visibleプロパティをfalseに設定して、コントロールを非表示にしている。
このように、デバイス・フィルタでカスタム・コントロールのプロパティを設定することが可能だ。
【カスタム・コントロールでのデバイス・フィルタ利用時のエラー】
ここでモバイルWebフォーム(m002.aspx)をソース編集で見てほしい。下の画面のように、VS 2005で<Choice>タグがエラーとして認識されているはずだ。このエラーは実行には問題がないので、無視してしまって構わない。
エラー表示されるカスタム・コントロールのデバイス・フィルタ | |||
カスタム・コントロールでは<Choice>タグがエラーとして認識されてしまう。実際には問題ないので無視してよい。 | |||
|
それでは、実行して結果を確認してみよう。
前回はドコモとSoftBankのシミュレータを利用したが、今回はまた新たに、auのシミュレータである「Openwave SDK 6.2K」も利用する。下記のサイトから、ダウンロードしてインストールを行ってほしい。
Openwave SDK 6.2Kのインストールが完了したら起動してみよう。任意のURLを開く方法を下の画面に示す。
Openwave SDK 6.2Kで任意のURLを開く手順 | |||
|
VS 2005のソリューション・エクスプローラでモバイルWebフォーム(m002.aspx)を[スタート ページに設定]して実行してみよう。実行結果は下の画面のようになり、それぞれのデバイスのシミュレータ別に、正しく「晴れ」の絵文字が表示されることが確認できるだろう。またIE(Internet Explorer)での接続時には、何も表示されないことも確認できるはずである。
モバイルWebフォーム(m002.aspx)の実行結果 | ||||||||||||
デバイスごとに適切な絵文字が表示されている。 | ||||||||||||
|
【注意】本連載で使うウェブコンテンツヴューアに関する注意点 |
前回は詳しく述べなかったが、本稿のSoftBank携帯では「903T」という端末を利用する。端末を切り替えるには、ウェブコンテンツヴューアのメニュー・バーから[オプション]−[端末]を実行すればよい。 |
○3.1.4. カスタム・コントロールのまとめ
カスタム・コントロールについてまとめる。
- カスタム・コントロールを利用すると任意のテキストをレンダリング可能となる
- モバイル・コントロールで実現できない機能を実装する際に利用する
- デバイス・フィルタと組み合わせて利用できる。
次に、前回から言葉だけは出てきている「デバイス・アダプタ」について解説し、その利用方法を示す。
INDEX | ||
[連載].NETでモバイル・サイト開発を始めよう | ||
第2回 携帯サイトの「ドコモ、au、SoftBank」への対応 | ||
1.カスタム・コントロールの作成 | ||
2.カスタム・コントロールの利用 | ||
3.デバイス・アダプタについて | ||
4.ブラウザ定義ファイルの作成 | ||
5.デバイス・アダプタの作成 | ||
6.デバイス・アダプタの利用 | ||
「.NETでモバイル・サイト開発を始めよう」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|