使ってみよう! Live Framework

第8回 Mesh-Enabled Web アプリケーション ―― Newsリソース

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

Newsリソース

ここからは本連載では初めて紹介するNewsリソースついてです。Live Meshには,フォルダの作成やファイルの追加・削除,メンバーの追加・削除といった情報を表すNewsというアイテムが用意されています。これもデバイスやMesh Objectと同じリソースのひとつです。図4にNewsを含むLive Frameworkのリソースモデルの一部を示します。

図4 Live Framework リソースモデル

図4 Live Framework リソースモデル

図を見るとNewsというリソースは2種類あります。ひとつはMesh Objectの下にあるNewsです。これはひとつのMesh Objectに対してのNewsです。もうひとつはMeshの下にあるNewsです。これはすべてのMesh ObjectのNewsのコレクションおよびMesh自体の情報を表すNewsです。

いずれのNewsも,フォルダの作成やファイルの追加等の操作をしていると自動的にNewsアイテムが増えていることがLive Meshサービスを使用しているとわかるかと思います。Mesh ObjectのNewsは,Live MeshフォルダやMesh-enabled Webアプリケーションを開いた時にウィンドウに付いているMesh Bar図5から確認できます。MeshのNewsは,Live Framework Clientをインストールしている場合はタスクトレイアイコンから確認できます図6⁠。また,Live Framework Developer SandboxのNewsタブやLive Desktopからも参照可能です。

図5 Mesh-enabled WebアプリケーションのMesh Bar

図5 Mesh-enabled WebアプリケーションのMesh Bar

図6 Live Framework Client タスクトレイ

図6 Live Framework Client タスクトレイ

NewsアイテムはMesh Objectなどと同様の操作で参照や追加が可能です。ただし,編集や削除の操作は用意されていません。ファイル操作等の情報だけでなくアプリケーション独自の情報としてNewsの利用も もちろんできます。特にMesh-enabled Webアプリケーションを使うと,Live Desktop上でもローカルのデバイス上でもMesh Barが表示され,よりNewsを活用したアプリケーションの開発が可能です。

Newsアイテムの追加

それでは,Mesh-enabled WebアプリケーションからNewsアイテムをアプリケーション自身のNewsへ追加してみたいと思います。アプリケーション独自のメッセージをMesh Barに表示させることが目標です。

今回紹介するNewsに関して詳細なドキュメントは今のところ公開されていないようです。これから紹介する内容はLive Frameworkのドキュメントの内容に加えてLive Desktopの実際の動作から判断した内容が含まれています。

ライブラリでは,ひとつのNewsアイテムはNewsItemクラスで表されています。LiveItemクラスを継承し,基本的なリソースのプロパティを持っています。実際のNewsとしての情報はNewsItemContextというクラスを用いて表します。NewsItemクラスはNewsItemContextのコレクション型のContextsプロパティを持っています。

NewsItem

最初にNewsItemオブジェクトを生成します。コンストラクタの引数は,Resource.Titleプロパティへの値です。

Dim newsItem = New NewsItem("LiveMesh.AppMessagePost")

Newsの場合のTitleの値の規則は,特に決まりはありませんが,Live Meshの実装を調べてみると次のような名前がつけられています。

  • LiveMesh.FileAdd
  • LiveMesh.FileUpdate
  • LiveMesh.FolderAdd
  • LiveMesh.MemberAdd
  • LiveMesh.UserMessagePost

Mesh Barに表示される際にTitleプロパティが利用されているようです。アプリケーションのメッセージとしてNewsを追加する場合,⁠LiveMesh.AppMessagePost」とすると良いようです。

著者プロフィール

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

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

URL:http://katamari.jp