Windows Phoneアプリケーション開発入門

第25回 LauncherとChooserを使ってみよう(1)

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

はじめに

2011年1月6日~9日にラスベガスで開催された「2011 International Consumer Electronics Show(CES)⁠にて,Windows Phone 7関連のニュースがありました。

当初Windows Phone 7では非対応とされていたコピーアンドペースト機能に対応したアップデートについての情報が発表されました。

Windows Phone 7のコピーアンドペースト機能は,iPhoneのものと同じ操作感で使えそうです。単語をタップするとその単語がハイライトされて,単語の左右に矢印が表示され,矢印をドラッグすることで選択範囲を調整することができます。ハイライトの右上に表示されているコピーアイコンをタップすることで「コピー」⁠ソフトウェアキーボードの上に表示されるペーストアイコンをタップすると「ペースト」ができるようです。

ほかにも「アプリケーションとゲームのパフォーマンス改善」「Windows Phone 7 Marketplaceを使いやすくする改善」が織り込まれているようです。このあたりはまだ端末が発売されていない日本のユーザーにはあまり関係ないかもしれませんね。

これはCESでの発表ではありませんが,韓国の最大手キャリアのSK Telecomから2011年後半に韓国語に対応したWindows Phone 7がリリースされるという非公式な噂も流れています。完全に私の推測ではありますが,日本語を含めた多言語化対応のアップデートがその時期にリリースされるのではないかと考えております。

Windows Phone 7の「Launcher」「Chooser」

さて,現時点のWindows Phone 7は,アプリケーションからシステムにアクセスする方法が提供されていませんので,必然的に「Launcher」「Chooser」を使うことになります。

「Launcher」「Chooser」を簡単に説明すると,Microsoft.Phone.Tasks名前空間にあるOSの標準アプリケーションを呼び出すLauncherと,ファイルを開くダイアログのような形で利用できるChooserのことです。アドレス帳だけではなく携帯電話に関連する機能へのアクセスを簡単に実現することができます。例えば,電話を掛けるLauncherやカメラで撮影したり電話番号を選ぶChooserが用意されています。

今回は,LauncherとChooserの中でも,特にアドレス帳やEメール送信などPIM(Personal Information Manager)に関する機能のTipsをご紹介したいと思います。本題のWindows Phone 7での使い方の前にWindows Mobile 6.xでPIMを使うためにはどうしていたのかをご紹介したいと思います。

Windows Mobile 6.xでPIMを使ってみよう

Windows Mobile 6.xでは,何かを選択する場合などのChooserが,標準UIとして提供されていません。標準クラスで用意されているものだけでできることは,主にOutlook Mobileからデータを追加・取得することだけでしょうか。UIの作成はデベロッパー側に任されます。

アドレス帳の取得/保存

Microsoft.WindowsMobile.PocketOutlook名前空間を使用することで,アドレス帳のデータにアクセスすることができます。アドレス帳のデータを取得するには,OutlookSessionインスタンスのContactsプロパティを使います。以下のコードでは,ComboBoxにアドレス帳のデータを渡して表示しています。

// Outlookセッションの作成
Microsoft.WindowsMobile.PocketOutlook.OutlookSession outlook
  = new Microsoft.WindowsMobile.PocketOutlook.OutlookSession();
ComboBox1.DataSource = outlook.Contacts.Items;
ComboBox1.DisplayMember = "FileAs";

取得した連絡先をComboBoxへバインディングしてみました。

図1 Windows Mobile 6.xで取得した連絡先をComboBoxへバインディング

図1 Windows Mobile 6.xで取得した連絡先をComboBoxへバインディング

次にアドレス帳に連絡先を登録する方法をご紹介します。

// 連絡先を作成し,詳細を設定する
Microsoft.WindowsMobile.PocketOutlook.Contact contact
  = new Microsoft.WindowsMobile.PocketOutlook.Contact();

// 苗字
contact.FirstName = "苗字";
contact.YomiFirstName = "ミョウジ";

// 名前
contact.LastName = "名前";
contact.YomiLastName = "ナマエ";

// 会社の名前
contact.CompanyName = "会社名";
contact.CompanyName = "カイシャメイ";

// ニックネーム
contact.Nickname = "にっくねーむ";

// ポケベルの番号
contact.PagerNumber = "0123456789";

// メールアドレス
contact.Email1Address = "hoge1@ch3cooh.jp";

// 携帯電話の電話番号
contact.MobileTelephoneNumber = "09012345678";

// 自宅の電話番号
contact.HomeTelephoneNumber = "0612345678";

// 住所
contact.HomeAddressPostalCode = "123-4567";
contact.HomeAddressState = "大阪府";
contact.HomeAddressCity = "大阪市";
contact.HomeAddressStreet = "北区";

// Outlookセッションの作成し,
// 連絡先を Outlook の連絡先フォルダに追加する
using (Microsoft.WindowsMobile.PocketOutlook.OutlookSession outlook
  = new Microsoft.WindowsMobile.PocketOutlook.OutlookSession()) {
  outlook.Contacts.Items.Add(contact);
}

図2 Windows Mobile 6.xで連絡先を登録

図2 Windows Mobile 6.xで連絡先を登録

著者プロフィール

和田健司(わだけんじ)

1982年10月12日生まれ。大阪で働くプログラマ。Microsoft MVP for Device Application Development(Jul 2010 - Jun 2011)。Windows Mobileに傾倒し今に至る。Windows Mobile向けのTipsを書いています。iPhoneアプリ開発を始めました。嫌いな食べ物はカレー。

URL: http://ch3cooh.jp/
Blog: http://d.hatena.ne.jp/ch3cooh393/

コメント

コメントの記入