Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Windowsストアアプリのコントラクトの基礎
――ファイルのアクティブ化拡張機能ほか

速習 Windowsストアアプリケーション 第6回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2013/02/05 14:00

 Windows 8が発売され、タッチ操作向けのアプリケーションのストア「Windowsストア」がオープンしました。本記事ではその新しい「Windowsストア」向けのアプリケーションを開発するお手伝いをします。前回に引き続き、コントラクトの概念について紹介します。

目次

はじめに

 第1回第2回ではWindowsストアアプリケーションのデフォルトのプロジェクトを、第3回では画面を構成する部品「コントロール」について紹介しました。

 第4回第5回とWindowsストアアプリケーションを開発するうえで避けて通れない概念。コントラクトについて紹介しました。今回の第6回がコントラクトの紹介の最後となります。

 今回紹介するのはそのうちの「ファイルのアクティブ化拡張機能」「プロトコルのアクティブ化拡張機能」「アカウント画像プロバイダー拡張機能」「カメラの設定拡張機能」「印刷タスク拡張機能」「SSL/証明書拡張機能」「ゲームエクスプローラー拡張機能」です。

 本記事はXAML+C#での開発を想定しています。

ファイルのアクティブ化拡張機能

ファイルのアクティブ化拡張機能の概要

 ファイルのアクティブ化拡張機能は、ファイルを開くアプリケーションとしてストアアプリを登録することができる機能です。ファイルの関連付けのストアアプリ版機能です。

 例えば画像(.jpg)ファイルを開くアプリケーションとしてストアアプリを登録すると、jpgファイルをダブルクリックした際にストアアプリが立ち上がります。

jpgファイルを開くアプリとしてストアアプリが登録できる
jpgファイルを開くアプリとしてストアアプリが登録できる

ファイルのアクティブ化拡張機能の実装

Package.appxmanifestの編集

 ファイルのアクティブ化拡張機能を追加するには、まずPackage.appxmanifestを編集します。

 Package.appxmanifestの宣言タブを開きます。「使用可能な宣言」から「ファイルの種類の関連付け」を追加します。

 名前の項目に「activate」、サポートされるファイルの種類項目のコンテンツタイプに「image/jpeg」、ファイルの種類に「.jpg」を入力します。

ファイルの種類の関連付けを追加
ファイルの種類の関連付けを追加

 これで、Package.appxmanifestの編集は終了です。

App.xaml.csでファイルを受け取る処理を追加

 Package.appxmanifestの編集で、ストアアプリが関連付けの対象となりました。

 しかし、まだ関連付けの対象として実行されたファイルを受け取る処理が記述されていません。

関連付けの対象として起動された際のイベントハンドラー
protected override void OnFileActivated(FileActivatedEventArgs args)
{
    // 起点となった関連付けられたファイルを取得する
    var file = args.Files[0];
}

 args.Files[0]からは、実行されたファイルを表すStorageFileクラスが取得できます。

動作の確認

 ファイルのアクティブ化拡張機能の動作を確認するには、完成したストアアプリを一度以上実行しておく必要があります。

 今回紹介したサンプルの場合実行後に、jpgファイルを開くアプリとしてサンプルアプリが表示されます。

 すでに他のアプリが関連付けられている場合は、jpgファイル上で右クリックし[プログラムから開く]を選択すると、サンプルアプリを選択できます。

拡張子に対応したアプリをストアで検索する

 開きたい拡張子に対応したWindowsストアアプリケーションをストアで検索したい場合、「動作の確認」項目で紹介した「プログラムから開く」から調べることができます。「プログラムを開く」から最下部「既定のプログラムの選択」を選択、最下部の「その他オプション」をクリックします。
 

既定のプログラムの選択
既定のプログラムの選択

 その最下部の「ストアでアプリを探す」を選択すると、Windowsストアが立ち上がります。該当拡張子のファイルのアクティブ化拡張機能を実装したストアアプリの一覧が表示されます。
 

ストアでアプリを探す
ストアでアプリを探す
拡張子に対応したアプリ一覧の表示
拡張子に対応したアプリ一覧の表示

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 西村 誠(ニシムラ マコト)

     Microsoft MVP Windows Platform Development。  Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。  ブログ:眠るシーラカンスと水底のプログラマー  著書:基礎から学ぶ Windows...

バックナンバー

連載:速習 Windowsストアアプリケーション

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5