2012年12月14日金曜日

シミュレーションダッシュボードについて

「Windows Phone SDK 8.0 Advent Calendar 2012」2回目の登場です。
今回、8.0にバージョンアップして開発サポート支援で色々と機能が追加されています。その1つが「シミュレーションダッシュボード」です。

このシミュレーションダッシュボードは、エミュレーターの通信状況などを文字通りシミュレーションしてくれるツールです。
Windows Phone アプリのプロジェクトを開くと、Visual Studioの「ツール」メニューにシミュレーションダッシュボードが追加されます。
SLDash01

シミュレーションダッシュボードを選択すると、ソリューションマネージャーと同じウィンドウにシミュレーションダッシュボードが追加されます。単独ウィンドウにするとこんな感じになります。
SLDash02

「ネットワークシミュレーションを有効にする」にチェックを入れると、自動的にエミュレーターが起動します。起動するエミュレーターはデバッグで選択しているエミュレーターになります。
ネットワークシミュレーションは文字通り受信強度のシミュレーションをしてくれますが、基本的に使いそうなのは「ネットワークなし」かそれ以外だけでしょうか。IEで確認してみましたが、有線ネットワークにつないでいると3Gや4Gの反応の違いがいまいち分かりませんでした。

「ロック画面」は文字通りロック画面を表示するかどうかです。わざわざエミュレーターで操作せずとも簡単にロック画面にできるのは嬉しい機能ですね。

そして、「アラームのトリガー」。これをクリックすると、以下の画面のようにサンプルのアラーム通知が送信されます。アプリケーションの起動中に割り込みでアラームが発生した時の挙動のチェックに有効ですね。
SLDash03

細かいところで追加されているSDKの機能を使って、効果的な開発をしてくださいね。

2012年12月9日日曜日

Windows Phone SDK 8.0のストアテストキットに関して

今年もAdvent Calendarの時期になりました。
1年があっという間に終わりに近づいているというのは感慨深いものですね。

さて、今年のAdvent CalendarもWindows Phone SDKのネタでいきましょう。昨年は、サードパーティー製のコントロールのお話をしました。
Windows Phone SDK 8.0向けのサードパーティー製コントロールはまだ販売されていないので(それでも今まで販売されているコントロールは問題なく使えるみたいです)、今回はストアテストキットを話題にしましょう。

さて、Windows Phone SDK 8.0になって結構SDKの構成も変わっていますが、その中でも目を引くのは以下の項目かなと思います。

  • Direct 3D/C++でアプリケーションを作成できるようになった。
  • Windows Phone 8のエミュレーターが新しいHyper-Vで動作するようになった。
  • SDKがWindows 8 Pro/Enterpriseでしか利用できなくなった。

上記のような変更の他にも以前は「マーケットプレイステストキット(Marketplace Testkit)」という名称で利用されてきたアプリテストキットが「ストアテストキット(Store Testkit)」と名称が変更されて、チェックする内容にも変更が出ています。

自動テスト

自動テストですが、基本的なチェック内容に変更はありません。XAPファイルのパッケージ要件(今回もアプリケーションのアイコンはしっかりとチェックされます)とWindows Phoneストアで表示するためのタイル画像やスクリーンショットのチェック、アプリケーションのパフォーマンス検証もしっかり入っています。
ただし、今回からは新規登録時にはWindows Phone 8用にスクリーンショットが必要になりました。以前ですと、WVGA(800×480)のみでよかったスクリーンショットなどですが、以下の通りに変更されています。

  • ストアタイル用の画像(200×200 → 300×300)
  • スクリーンショットWVGA(800×400)
  • スクリーンショットWXGA(1280×768)
  • スクリーンショット720P(1280×720)
手動テスト

手動テストもテストケースが61に変更されています。一応、以前のバージョンのテストキットに関しては以前ポストした内容を確認してください。

Marketplace Testkitを活用しよう!

内容はほとんど変わっていませんが、テスト名が若干変更されていますので、英語のテスト名、日本語テスト名、テストの説明を今回も載せておきます。今回も翻訳はBing Translatorをベースにテスト内容の項目は英辞郎などを利用して意訳させてもらっています。
各項目の「詳細…」をクリックすると、App certification requirementsのリンクに飛びますので、そこで詳細な内容を確認することができます。
※ただし、すべて英語のページとなっていますのでご注意。

テスト名(英語) テスト名(日本語) テストの説明(日本語概訳)
Required app images 必須アプリケーション画像 アプリケーションのショートカットとなるタイル画像が適切なものになっているか確認します。
※デフォルトのタイル画像のままだと審査に落ちます。
Multiple devices support 複数のデバイスサポート 複数のデバイスで起動、終了などの動作が問題なく行われるかの確認をします。
App closure アプリケーションの終了 アプリケーション終了時の動作を確認します。
App responsiveness アプリケーションの応答性 アプリケーションが既定の時間で応答するかどうかの確認をします。
App responsiveness after being closed 終了時のアプリケーションの応答性 終了時にアプリケーションが既定の時間で終了するかなどの動作を確認します。
App responsiveness after being deactivated 非アクティブ後のアプリケーションの応答性 非アクティブ時にアプリケーションが既定の時間で非アクティブ化するかなどの動作を確認します。
Back button: previous pages バックボタン:前のページ バックボタンで前のページに遷移するか確認します。
Back button: first screen バックボタン:最初のページ 最初のページでバックボタンを押すとアプリケーションが終了するか確認します。
Back button: context menus and dialogs バックボタン:コンテキストメニューとダイアログ コンテキストメニューやダイアログ表示中にバックボタンを押した時の動作を確認します。
Back button: games バックボタン:ゲーム ゲームアプリケーションの場合のバックボタンの動作を確認します。
※ゲームアプリケーション以外は不要。
Trial apps 試用アプリ 試用アプリの動作を確認します。
※試用機能を組み込んでいる場合のみ。
Phone calls 電話着信 アプリケーション動作中に電話着信が行われた場合の影響を確認します。
SMS and MMS messages SMSとMMSメッセージ アプリケーション動作中にSMS/MMSメッセージを受信したときの影響を確認します。
App responsiveness with incoming phone and messages 電話着信やメッセージ受信時のアプリケーション応答性 電話着信やSMS/MMSメッセージを受信したときのアプリケーションの応答性を確認します。
Malicious software screening 悪意あるソフトウェアのスクリーニング 悪意あるソフトウェアが含まれていないか確認します。
Language validation 言語の検証 アプリケーションの紹介やUIの内容などが公開予定の国の言語と合っているか確認します。
Content and themes コンテンツとテーマ システムの背景やテーマを変更してもアプリケーションが見やすいものになっているか確認します。
Thechnical support information テクニカルサポート情報 アプリケーションの名称、バージョン情報やテクニカルサポートの情報がわかりやすい場所に配置されているか確認します。
Location aware app 位置認識アプリケーション 位置情報サービスを有効にして、位置情報をアプリケーションが取得できているか確認します。
Configurable functionality 構成可能な機能 アプリケーションからトースト通知などの設定が行えるか確認します。
Toast notification opt-in トースト通知のオプトイン トースト通知を受信することに対する明示的なアクセス許可を要求しているか確認します。
Minimize power usage when running under a locked screen ロック画面中の電力消費 アプリケーションを起動した後にデバイスをロックしたときにアプリケーションが停止しているか確認します。
Audio playback and battery life under a locked screen ロック画面中のオーディオ再生とバッテリー寿命 音楽ファイルを再生している間にデバイスをロックしたときのバッテリー寿命を確認します。
Music + Video Hub app functionality ミュージック+ビデオハブ機能 アプリケーションに組み込まれた機能が音楽、ビデオメディアに関連しているか確認します。
Music + Video Hub History and Now Playing list functionality ミュージック+ビデオハブのヒストリーと再生中リストの機能 ミュージック+ビデオハブの音楽またはビデオの履歴、または再生リストの一覧をタップしたときの動作を確認します。
Music + Video Hub History list updates

ミュージック+ビデオハブの履歴リスト更新

アプリケーションで音楽またはビデオを再生した後にミュージック+ビデオハブの履歴が更新されているか確認します。

Music + Video Hub New list updates ミュージック+ビデオハブ新規リスト更新 アプリケーションで音楽タグなどのオブジェクトを新規作成したときにミュージック+ビデオハブに反映されるか確認します。
Music + Video Hub containers ミュージック+ビデオハブコンテナー アプリケーション内でビデオや音楽のメディアコンテナーを作成したときにそのコンテナーの内容が更新されているか確認します。
Music Video Hub content ミュージック+ビデオハブコンテンツ 不要なコンテンツがミュージック+ビデオハブに含まれていないか確認します。
Music Video Hub iconography rules ミュージック+ビデオハブ画像ルール ミュージック+ビデオの画像などの表示が規定されたルール通りに表示されているか確認します。
Initial launch functionality 初期起動機能 音楽再生中にアプリケーションを起動するときに、停止させたりしないか確認します。
Configurable functionality 構成可能な機能(メディア機能) アプリケーション起動中に音楽プレイヤーの音量等を設定できることを確認します。
Apps that play a video or audio segment ビデオまたはオーディオの部分を再生するアプリケーション アプリケーションが音楽再生のレジューム状態に影響を与えていないことを確認します。
SoundEffect and backgraound music 効果音とBGM 音楽再生中にアプリケーションを起動したときにBGMや効果音が重ならないか確認します。
Photo-editing apps: functionality 写真加工アプリ:機能 アプリケーションがPictureハブの写真を加工できるか確認します。
Photo-editing apps: launch behaviors 写真加工アプリ:起動反応 Pictureハブの【アプリケーション】メニューからアプリケーションが起動できるか確認します。
Photo-editing apps: photo manipulation 写真加工アプリ:写真操作 Pictureハブから選択した写真をアプリケーションで操作できるか確認します。
Photo-sharing apps: functionality 写真共有アプリ:機能 アプリケーションから写真がアップロードできるか確認します。
Photo-sharing apps: launch behaviors 写真共有アプリ:起動反応 Pictureハブの【共有】メニューからアプリケーションが起動できるか確認します。
Photos Hub apps: Primary app functionality Pictureハブアプリ:既定のアプリケーション機能 アプリケーションの機能がカメラまたは写真に関連していることを確認します。
User initiated background audio ユーザー主導のバックグランド再生 バックグランド再生できるアプリケーションは、UI操作によりバックグラウンド再生を開始できるか確認します。
Stopping background audio バックグラウンド再生の停止 バックグランド再生できるアプリケーションは、UI操作によりバックグラウンド再生を停止できるか確認します。
Universal volume control commands ボリューム操作 ボリューム操作に影響がないことを確認します。
Universal volume control strings ボリューム表示エリア 音楽再生中にアプリケーションを終了しても、音楽が再生を続け、ボリューム表示部に音楽のメタデータが表示されることを確認します。
Background audio streaming agent バックグラウンドオーディオストリーミングエージェント アプリケーションのストリーミング再生が正しいデータとメタデータを管理できているか確認します。
Status of background transfers バックグラウンド転送の状態 バックグラウンド転送の状態を確認できるUIがあることと、UIで操作できることを確認します。
Canceling background transfers バックグラウンド転送のキャンセル バックグランド転送がキャンセルできることを確認します。
Navigation protocol turn by turn navigation ナビゲーションプロトコルによるナビゲーション指示 ナビゲーションプロトコルによるリアルタイムナビゲーションが行われているかを確認します。
Navigation protocol information modification ナビゲーションプロトコルによる情報更新 ナビゲーションプロトコルによるナビゲーションの開始位置と目的地の情報が更新されるか確認します。
Navigation protocol latitude and longitude ナビゲーションプロトコルの緯度経度 ナビゲーションプロトコルによる緯度経度の動作を確認します。
Navigation protocol app launch ナビゲーションプロトコルアプリを起動 ナビゲーションに必要な他のアプリケーションがリアルタイムナビゲーションを開始する前に起動できているか確認します。
Navigation protocol app launch delay ナビゲーションプロトコルアプリ起動遅延 ナビゲーションプロトコル経由であなたのアプリケーションが起動される場合、ユーザー認証や情報の識別が必要でない限り、リアルタイムでナビゲーションが行われているか確認します。
Rich media apps: functionality リッチメディアアプリ:機能 フォト ビューアーで開くリンクを使用して写真を開いたときに、アプリはすぐに特徴的な表示や編集に必要なエクスペリエンスを読み込むことができているか確認します。
Lens apps: functionality レンスアプリ(カメラアプリ):機能 レンズピッカーから起動された場合、すぐにアプリはアプリファインダーを表示するのを確認します。
また、ポリシーまたは資格認証の確認が行われた後、すぐにアプリのアプリファインダーが表示されるか確認します。
Call coordinator registration コールコーディネーターの登録 VoIPをサポートしているアプリケーションがVoipCallCoordinatorクラス以外のものでVoIPを扱おうとしていないか確認します。
Audio-only VoIP calls 音声のみのVoIP通話 VoIP呼び出しのオーディオボタンをタップした場合、アプリが相手のユーザーのビデオフィードを表示させることができているか確認します。
Raw push notifications for VoIP apps VoIPアプリケーション用のRawプッシュ通知 VoIPの着信時に必ずRawプッシュ通知のtype 4を使用しているか確認します。
VoIP ringtone duration VoIP着信音の時間 VoIPの着信音が5~120秒間に収まっているか確認します。
VoIP ringtone file size VoIP着信音のファイルサイズ VoIPの着信音のファイルサイズが2MBいないか確認します。
※背景が黄色になっている項目は、Windows Phone 8用として今回のテストキットで追加された項目です。

あなたのWindows Phone アプリの開発の一助になれば幸いです。

2012年2月13日月曜日

ApplicationBarの簡単なアイコン設定

久しぶりの投稿です。

今回はApplilcationBarのアイコン設定(ApplicationBarIconButton)を簡単に行うためのTipsです。
ApplicationBarはスタンダードなアプリを作成するときに、テンプレートで用意されています。ただし、使う必要がないこともあるのでデフォルトではコメントになっています。
プロジェクトを作成すると表示される「MainPage.xaml」では以下のようになっています。

    <!--ApplicationBar の使用法を示すサンプル コード-->
<phone:PhoneApplicationPage.ApplicationBar>
<
shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
<
shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
<
shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
<
shell:ApplicationBar.MenuItems>
<
shell:ApplicationBarMenuItem Text="MenuItem 1"/>
<
shell:ApplicationBarMenuItem Text="MenuItem 2"/>
</
shell:ApplicationBar.MenuItems>
</
shell:ApplicationBar>
</
phone:PhoneApplicationPage.ApplicationBar>
まずはApplicationBarのアイコン仕様を把握しておきましょう。


  • アイコンサイズは48×48ピクセル。

  • 画像フォーマットはPNG推奨(透過を利用するので)。

  • アイコンの外枠は不要。ApplicationBarが標準で描画してくれる。

  • ApplicationBarに表示できるアイコンは4つまで。

  • テーマを固定しなければ、darklight用に両方のテーマ別にアイコンを用意する必要がある。

今回は特に4番目のテーマ別に画像を配置する方法を把握しておきましょう。これを覚えておけば、気軽にApplicationBarにアイコンを置きたくなるかもしれません。


Windows Phone SDKには、ApplicationBar用のアイコンのサンプルが用意されています。
64bit環境の人は次のようなフォルダに格納されています。
C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Icons
このフォルダには、「dark」「light」「vector」とフォルダがありますが、利用するのは「dark」「light」の2つのフォルダです。


image


上図は、フォルダの中身ですが色々なアイコンが用意されていますので気に入ったアイコンをプロジェクトにコピーします。今回は、以下の4つを使うことにしました。あと、ファイル名が長かったのでコピー後に変更しました。
appbar.feature.camera.rest.png → (変更後) camera.png
appbar.feature.email.rest.png → (変更後) email.png
appbar.feature.search.rest.png → (変更後) search.png
appbar.feature.settings.rest.png → (変更後) settings.png


さて、コピーするフォルダですが次のような形でソリューションのフォルダ配下に「dark」と「light」のフォルダを作成してください。これが今回のTipsの一番のキモになります。
次に作成した「dark」「light」のフォルダにそれぞれ使用する画像ファイルを同じファイル名でコピーします。
その後は、ソリューションに「追加→既存の項目」から追加します。


今回のサンプルの場合は、次のように「Images」フォルダ配下に置くよう構成にしました。
image


コピーして、ソリューションに追加した後は、ソリューションに追加したアイコンファイルのプロパティを変更しておきます。
追加した直後だと、大体ビルドアクションが「リソース」として登録されているので「コンテンツ」に変更し、出力ディレクトリにコピーの設定は「新しい場合はコピーする」に変更しておきましょう。
image


あとはXAMLを修正するだけです。とりあえず、XAMLを以下の通りに修正して実行してみてください。
IconUriプロパティに「dark」フォルダにあるアイコンファイルのパスを入れてください。

    <phone:PhoneApplicationPage.ApplicationBar>
<
shell:ApplicationBar IsVisible="True" IsMenuEnabled="False">
<
shell:ApplicationBarIconButton IconUri="/Images/dark/camera.png" Text="Camera"/>
<
shell:ApplicationBarIconButton IconUri="/Images/dark/email.png" Text="e-mail"/>
<
shell:ApplicationBarIconButton IconUri="/Images/dark/search.png" Text="Search"/>
<
shell:ApplicationBarIconButton IconUri="/Images/dark/settings.png" Text="Settings"/>
</
shell:ApplicationBar>
</
phone:PhoneApplicationPage.ApplicationBar>
実行すると、テーマ別で次のようになっているはずです。
imageimage






XAMLでは「dark」フォルダのファイルしか指定していませんが、テーマが「light(白)」だと、「light」フォルダ側のアイコンファイルが自動的に使用されています。
通常、わざわざC#のコードでアイコンの変更の処理とかを書く必要はありません。
※状態によってアイコンの機能を切り替える必要がある場合はこの限りではありません。


今回紹介したTipsは以下になります。



  • アイコンを用意するのが面倒なときはSDKのアイコンを利用しよう。

  • アイコンを用意するときは、外枠を描いておく必要なし。

  • アイコンは「dark」と「light」のフォルダに同じファイル名で格納しておこう。

  • XAMLのアイコンファイルの指定は「dark」フォルダのファイルパスだけでOK。

みなさんのWindows Phone アプリの開発の一助になれば幸いです。

2011年12月6日火曜日

サードパーティ製のWindows Phone用のコントロールを探す&利用してみよう!

この季節になると、技術系のサイトは色々と賑やかになります。その理由が【アドベンドカレンダー】というものの存在です。アドベンドカレンダーというものは、キリスト降誕を待ち望むの期間(待降節とか降臨節というそうです)に連作である一定のテーマに沿ったTips等をブログ等を利用して発表していくものです。キリスト教信者の多い西欧ならではイベントですね。

今年はWindows Phoneでアドベントカレンダーが企画されましたので、僕も本日12月6日を担当させて頂くことになりました。
Windows Phone Advent Calendar
http://atnd.org/events/22351

Windows Phoneの話題ですから、それに沿ったモノと云うことで、今回はテクニックではなくサードパーティで現在販売されているコンポーネント集を色々ご紹介したいなと思います。
各コントロールの詳細な説明は、少々骨が折れるので割愛しますが、各コントロール集はどれも魅力のあるコントロール集ですので試してみてはいかがでしょうか。

Silverlight Toolkit for Windows Phone

サードパーティが販売しているわけではありませんが、マイクロソフトのSilverlight開発チームがフリー公開しているコントロール集です。このコントロール集は、マイクロソフトの開発チームが公開しているだけあって非常に有用性があります。初めて標準以外のコントロールを利用したいと思っている方にはオススメです。

提供されているコントロール

  • auto completebox
  • context menu
  • date+time converters
  • data & time pickers
  • expander view
  • gestures
  • hubtile
  • list picker
  • lockable pivot
  • longlist selector
  • multi selectlist
  • performance progressbar
  • phone textbox
  • toggle switch
  • tilt effect
  • transitions
  • wrap panel
Infragistics Japan NetAdvantage for Windows Phone

インフラジスティクスジャパン社が提供しているコントロール集です。
現在、販売されているコントロール集で唯一日本語サポートが行われている製品です。
データを視覚化することを中心としたコントロールが用意されています。

提供されているコントロール
印は、今後のアップデートで提供予定です。

  • Barcode
  • Barcode Reader
  • Bullet Graph
  • Data Chart
  • Gauge
  • Info Box
  • Message Box
  • Slider
  • Treemap
  • Window
  • Inputs
  • Persistence Framework
  • Rating
  • ACS Control
Telerik RadControls for Windows Phone

米Telerik社が提供しているWindows Phone用コントロール集です。
提供されているコントロールの数が現在のところ一番多いのが特徴です。

提供されているコントロール

  • Animation Framework
  • ApplicationFrame
  • Auto CompleteBox
  • BusyIndicator
  • BulletGraph
  • Calendar
  • Chart
  • ContextMenu
  • DataBoundListBox
  • DataPicker
  • DateSelector
  • DockPanel
  • Gauge
  • JumpList
  • LayoutTransform
  • ListPicker
  • LoopingList
  • MessageBox
  • NumericUpDown
  • PickerBox
  • SlideView
  • ToggleSwitch
  • TimePicker
  • TimeSelector
  • TransitionControl
  • UniformGrid
  • Window
  • WrapPanel
ComponentOne Studio for Windows Phone

米ComponentOne社が提供しているWindows Phone用コントロール集です。
ファイル操作系のコントロールが用意されているのが特徴です。

提供されているコントロール

  • Chart
  • ContextMenu
  • CoverFlow
  • DateTimePicker
  • DockPanel
  • Excel
  • FlexGrid
  • Gauges
  • Imaging
  • LayoutTransformer
  • Maps
  • MaskedTextBox
  • NumericBox
  • PDF
  • PdfViewer
  • ProgressBar
  • Reflector
  • RichTextBox
  • ToggleSwitch
  • UniformGrid
  • WrapPanel
  • Zip

Windows Phone用のコントロール集は他のコントロール集と比べても比較的安価で入手できます。
一度試してみてはいかがでしょうか。
現在は、全国各地でハッカソンも開催されています。魅力的なアプリの一助としてご一考ください。

2011年11月24日木曜日

Marketplace Testkitを活用しよう!

Windows Phone SDKの中で有効なツールというと、Marketplace Testkitです。
このツールは、Windows Phoneアプリを公開する前に必要なテストを独自に一通り行えるツールです。

Marketplace Testkitは必ずVisual Studioから起動します。
起動の方法は「ソリューションエクスプローラー」で、対象のプロジェクトを選択して右クリックをすると「Marketplace Testkitを起動する」というメニューがありますので、選択してください。
marketplacetestkit

Marketplace Testkitには「アプリケーションの詳細」「自動テスト」「監視対象のテスト」「手動テスト」と、大きく分けて4つののテスト項目があります。

アプリケーションの詳細テスト

アプリケーションの詳細テストは、Marketplaceにアップロードするときに絶対必要なアイコンやスクリーンショットが用意できているか確認するためのものです。

自動テスト

自動テストは、上記の詳細テストの他にXAPファイルの検証、アプリケーションの機能の検証を行います。

監視対象のテスト

監視対象のテストは実機に実際にアプリケーションをデプロイして、以下の観点でチェックします。

  • 起動時間
  • アプリケーションのピーク時のメモリ使用量
  • アプリケーションの終了(クラッシュしないかどうかのチェック)
  • [戻る]ボタンの動作検証
手動テスト

手動テストは、Marketplaceに公開するための必須となるテスト項目です。
実際にMarketplaceの審査の際に行われているテストですので、このテスト項目を自分なりに消化しておくだけでもアプリケーション審査に合格する確率は上がります。
ただし、現在のバージョンではこの手動テストのテスト項目はすべて英文ですので、苦手な人には辛いかもしれません。
一応僕なりにテスト概要を和訳したものを以下に挙げておきますので参考にしてください。
詳細なテストの手順方法はBing Transratorなどの翻訳サイトを利用しながら、確認してください。

テスト項目 日本語訳 テスト内容概略

Applicable Application Tile Images

アプリケーションのタイルイメージ アプリケーションのショートカットとなるタイルのイメージが適切なものになっているかを確認します。
※デフォルトのタイルイメージのままだと、確実に審査に落ちます。

Multiple Devices Support

複数のデバイスのサポート 複数のデバイスで起動、終了などが正常に行えるかの確認をします。

Application Closure

アプリケーションのクローズ時の動作 アプリケーションを終了するときの動作を確認します。

Application Responsiveness

アプリケーションの応答 アプリケーションが規定の時間で応答できるかの確認をします。

Application Responsiveness After Being Closed

閉じ始めのアプリケーションの応答 アプリケーションを閉じた際の応答を確認します。

Application Responsiveness After Being Deactivated

Deactivated状態になるときのアプリケーションの応答 アプリケーションがDeactivatedに遷移したときのアプリケーションの応答を確認します。

Back Button: Previous Pages

[戻る]ボタン:前のページ [戻る]ボタンを押して、前のページに戻るか確認します。

Back Button: First Screen

[戻る]ボタン:最初のページ 最初のページで[戻る]ボタンを押すと、アプリケーションが終了するか確認します。

Back Button: Context Menus and Dialogs

[戻る]ボタン:コンテキストメニュー、ダイアログ コンテキストメニュー、ダイアログを表示しているときに[戻る]ボタンを押した時の動作を確認します。

Back Button: Games

[戻る]ボタン:ゲームアプリケーション ゲームアプリケーション実行中に[戻る]ボタンを押した時の動作を確認します。
※通常のSilverlightアプリケーションの場合は、確認しなくてもよいと思います。

Trial Applications

試用版 試用版アプリケーションの動作確認をします。
※試用機能を組み込んでいない場合は、確認する必要はありません。

Phone Calls

電話機能 アプリケーション起動中に着信があったときに影響がないかを確認します。

SMS and MMS Messages

SMSまたはMMSメッセージ SMSメッセージ送信に影響がないかを確認します。

Application Responsiveness With Incoming Phone Calls and Messages

着信またはメッセージ受信時のアプリケーションの応答 アプリケーション起動中に着信またはSMSメッセージがあったときのアプリケーションの応答を確認します。

Malicious Software Screening

悪意あるソフトウェア 悪意あるソフトウェア(マルウェア)であるかどうかを確認します。

Language Validation

言語の検証 アプリケーションのローカライズの確認をします。

Content and Themes

コンテンツおよびテーマ システムのテーマや背景を変更しても、アプリケーションが見やすいものになっているか確認します。

Technical Support Information

技術サポート情報 アプリケーション名、バージョン情報などが発見しやすい場所に表示されているか確認します。

Location Aware Application

位置認識アプリケーション 位置情報サービスをONにして位置情報をアプリケーションが取得できているか確認します。

Configurable Functionality

構成可能な機能 アプリケーションからトースト通知の設定が行えることを確認します。

Toast Notification Opt-In

トースト通知のオプトイン トースト通知を受信することの明示的なアクセス許可を要求しているか確認します。

Minimize Power Usage When Running Under a Locked Screen

ロック画面中の電力消費 アプリケーションを起動した後にデバイスをロックしたときにアプリケーションが停止しているか確認します。

Audio Playback and Battery Life Under a Locked Screen

ロック画面中のオーディオ再生とバッテリー寿命 音楽ファイルを再生している間にデバイスをロックしたときのバッテリー寿命を確認します。

Idle Behavior Under a Locked Screen

ロック画面中のアイドル状態の挙動 ロック画面中の挙動を確認します。

Minimum Battery Life Under a Locked Screen

ロック画面中の最小バッテリー寿命 ロック画面中の最小バッテリー寿命が規定時間以上か確認します。

Music + Video Hub Application Functionality

ミュージック+ビデオハブ機能 アプリケーションに組み込まれた機能が音楽、ビデオメディアに関連しているか確認します。

Music + Video Hub History and Now Playing List Functionality

ミュージック+ビデオハブの履歴、プレイリスト機能 ミュージック+ビデオハブの音楽またはビデオの履歴、または再生リストの一覧をタップしたときの動作を確認します。

Music + Video Hub History List Updates

ミュージック+ビデオハブの履歴リスト更新 アプリケーションで音楽またはビデオを再生した後にミュージック+ビデオハブの履歴が更新されているか確認します。

Music + Video Hub New List Updates

ミュージック+ビデオハブ新規リスト更新 アプリケーションで音楽タグなどのオブジェクトを新規作成したときにミュージック+ビデオハブに反映されるか確認します。

Music + Video Hub Containers

ミュージック+ビデオハブコンテナー アプリケーション内でビデオや音楽のメディアコンテナーを作成したときにそのコンテナーの内容が更新されているか確認します。

Music + Video Hub Content

ミュージック+ビデオコンテンツ 不要なコンテンツがミュージック+ビデオハブに含まれていないか確認します。

Music + Video Hub Iconography Rules

ミュージック+ビデオハブ画像ルール ミュージック+ビデオの画像などの表示が規定されたルール通りに表示されているか確認します。

Initial Launch Functionality

初期起動機能 音楽再生中にアプリケーションを起動するときに、停止させたりしないか確認します。

Configurable Functionality

構成可能な機能(メディア機能) アプリケーション起動中に音楽プレイヤーの音量等を設定できることを確認します。

Applications that Play a Video or Audio Segment

ビデオまたはオーディオの部分を再生するアプリケーション アプリケーションが音楽再生のレジューム状態に影響を与えていないことを確認します。

SoundEffect and Background Music

効果音とBGM 音楽再生中にアプリケーションを起動したときにBGMや効果音が重ならないか確認します。

Applications That Extend The Picture Viewer: Functionality

Pictureハブの拡張アプリケーション:機能 アプリケーションがPictureハブの写真を操作できるか確認します。

Applications That Extend The Picture Viewer: Launch Behaviors

Pictureハブの拡張アプリケーション:起動反応 Pictureハブの【アプリケーション】メニューからアプリケーションが起動できるか確認します。

Applications That Extend The Picture Viewer: Photo Manipulation

Pictureハブの拡張アプリケーション:写真操作 Pictureハブから選択した写真をアプリケーションで操作できるか確認します。

Applications That Extend the Share Picker: Functionality

Share Picker拡張アプリケーション:機能 アプリケーションから写真がアップロードできるか確認します。

Photo Sharing Application Launch Behavior

写真共有アプリケーション:起動反応 Pictureハブの【共有】メニューからアプリケーションが起動し、写真をアップロードできるか確認します。

Primary Application Functionality

Pictureハブ拡張アプリケーション:主要機能 アプリケーションの主要な機能にカメラまたは写真に関連しているか確認します。

User Initiated Background Audio

ユーザー主導のバックグランド再生 バックグランド再生できるアプリケーションは、UI操作によりバックグラウンド再生を開始できるか確認します。

Stopping Background Audio

バックグラウンド再生の停止 バックグランド再生できるアプリケーションは、UI操作によりバックグラウンド再生を停止できるか確認します。

Universal Volume Control Commands

ボリューム操作 ボリューム操作に影響がないことを確認します。

Universal Volume Control Strings

ボリューム表示エリア 音楽再生中にアプリケーションを終了しても、音楽が再生を続け、ボリューム表示部に音楽のメタデータが表示されることを確認します。

Background Audio Streaming Agent

バックグラウンドオーディオストリーミングエージェント アプリケーションのストリーミング再生が正しいデータとメタデータを管理できているか確認します。

User-Initiated Background Transfers

ユーザー起動によるバックグラウンド転送 バックグラウンド転送が始まるか確認します。

Status of Background Transfers

バックグラウンド転送の状態 バックグラウンド転送の状態を確認できるUIがあることと、UIで操作できることを確認します。

Cancelling Background Transfers

バックグラウンド転送のキャンセル バックグランド転送がキャンセルできることを確認します。

Windows Phone アプリ開発の一助になれば幸いです。

2011年10月25日火曜日

Windows Phoneのテーマに関連したリソースを取得する。

Windows Phoneのテーマに関連した情報を引き出すにはどうしたら良いのか分からなかったので、Microsoft MVP for Deveice Application Development のCH3COOH(酢酸)センセイに訊いてみました。

酢酸センセイがこのように取得できますよと教えてくれたのが、次のブログエントリにあるようなコード。
http://ch3cooh.jp/index.php/tips/windowsphone7/system/resources/

要はResources[“要素名”]をキャストして代入ってことみたいなので、他の要素はどうなってるかなと思って調べたら、次のMSDNライブラリを見つけました。

Theme Resources for Windows Phone
http://msdn.microsoft.com/en-us/library/ff769552(v=VS.92).aspx

Windows Phoneアプリで苦労するのは、テーマが変更されたときにアプリが違和感なく表示されるかどうかです。画像とかも意外にテーマを変更したら画像が見えなくなったとかあります。テーマのチェックする際には、Resource[“要素名”]を忘れずに。

2011年10月11日火曜日

ページ遷移時のメソッドを整理する。

Windows Phoneのアプリの動作遷移に関しては、以前エントリで紹介しました。

アプリ起動と終了のイベントに関して整理してみる。

今回は、Windows PhoneアプリのActivatedイベントとDeactivatedイベントの間で発生するメソッドを整理したいと思います。overrideしておくと、ページ遷移の時に必ずコールされるようになるメソッドがあります。それが以下の3つのメソッドです。

  1. OnNavigatedFromメソッド
    このメソッドは、起動しているアプリケーションからDeactivatedイベントが発行される間に行われます。
  2. OnNavigatingFromメソッド
    このメソッドは、OnNavigatedFromメソッドよりも前に行われるメソッドです。
  3. OnNavigatedToメソッド
    このメソッドはOnNavigatedFromとは逆で、他のアプリケーションから自分のアプリケーションが戻るときのActivatedイベントが発行される間に行われます。

これらのメソッドの使い所としては、主にテンポラリ等のデータの保存処理と保存したデータの読み出し処理が多くなるかと思います。Windows Phoneアプリは、基本的に意図的に保存処理を記述しない限りデータや設定は保存されない仕組みです。そのため、Windowsボタンでホームに戻ったり、別のアプリケーションに遷移した場合は、アプリケーションがアクティブになったときに設定が保存されていないと、初期状態に戻ったりします。
それを防ぐために上記メソッド内で保存が必要な設定等の保存/読み出し処理を記述しておく必要があります。

イメージの制御で意外にこれで躓いたりしましたので、参考になればと思います。