UX-TV 2/1 フォローアップ: IsolatedStorageSettingsクラス

IsolatedStorageSettingsクラスを利用すると、分離ストレージに (キー, 値) のペアでデータを格納することができます。 http://msdn.microsoft.com/ja-jp/library/system.io.isolatedstorage.isolatedstoragesettings(v=VS.95).aspx IsolatedStorageSettings.Addメソッド http://msdn.microsoft.com/ja-jp/library/system.io.isolatedstorage.isolatedstoragesettings.add(v=vs.95).aspx を見ると、 public void Add(     string key,     Object value ) という形で、System.Object型のデータを格納することができます。 このSystem.Objectクラス http://msdn.microsoft.com/ja-jp/library/system.object(v=vs.95).aspx は、.NET Framework の全クラスの基本クラスであり、各言語では、クラスの Object の継承を宣言する必要はありません。 継承が暗黙的であるので、開発者が独自に作ったクラスもSystem.Objectが基本クラスとなります。 このため、特別な宣言を行わなくても、分離ストレージにオブジェクトを保存できます。   (2012/2/2 追記) ・・・と思いきや、落とし穴を発見。 IsolatedStorageSettingsに対してオブジェクトを格納する場合、そのオブジェクトが「シリアル化・逆シリアル化」に対応していることが必須です。 Visual Studioでデバッグ中は、(Saveメソッドを呼び出さない限り)IsolatedStorageSettingsに対してAddメソッドで登録したデータがきちんと保持されています。正しく保存できるかどうかは、Saveメソッドを呼び出して確認が必要です。通常は、このSaveメソッドはアプリケーションの終了時に自動的に呼び出されますが、正しく設定情報が保存されていることを確認するために、開発中にSaveメソッドを呼び出すコードをテストしておくと良いでしょう。 保存できないデータを格納した場合、次のようなエラーが発生します。要するにシリアル化可能でないオブジェクトは保存できません。 System.Object は、 .NET Frameworkの場合、http://msdn.microsoft.com/ja-jp/library/e5kfa45b.aspx にあるように、[SerializableAttribute]があり、シリアル化可能です。 一方、Windows Phone (Silverlight)の場合は、System.Objectは http://msdn.microsoft.com/ja-jp/library/e5kfa45b(v=vs.95).aspx シリアル化可能とは宣言されていません。 クラスをシリアル化するためには、DataContractSerializerが必要になります。 System.Runtime.Serizalizationの参照設定を行い、シリアル化したいクラスに[DataContract]属性を付け、シリアル化したいメンバーに[DataMember]属性を付けます。 http://msdn.microsoft.com/ja-jp/library/system.runtime.serialization.datacontractserializer(v=vs.95).aspx も参考に。 例:   namespace ISSetingsTest {…


Windows Phone : 2011年の振り返り

Windows Phone Developer Blogのエントリーに、Windows Phone 2011 Retrospective が追加されました。 ソース: http://windowsteamblog.com/windows_phone/b/wpdev/archive/2012/01/11/windows-phone-2011-retrospective.aspx   さて、日本市場としての振り返り、特に所属しているチームに関連した活動としては、いろいろありました。 6/8 Windows Phone Developer Day (ビデオアーカイブ) 7/21 Tech Fielders セミナー東京 「Windows Phone “Mango” 開発支援セミナー ~実践編」 8/19 Tech Fielders セミナー東京 「Windows Phone 7.5 開発支援セミナー」 8/23 Windows Phone SDK 7.1 RC日本語版公開 (参考記事)  8/24 Zuneソフトウェア日本語版公開 (参考記事) 8/25 世界初のWindows Phone 7.5デバイス IS12T 販売開始 (KDDI様プレスリリース) 8/31 UX-TV スタート (告知ビデオアーカイブ)…


[TFセミナー フォローアップ] サンプル公開: Windows Phone 企業向けアプリケーション配布の考え方と実装例 (IIS Expressを使用していないバージョン)

http://blogs.msdn.com/b/aonishi/archive/2011/11/28/10241875.aspx で公開したサンプルは IIS Express を利用しているため、うまく開けない方がいらっしゃったかもしれません。 IIS Express を利用していないバージョンを添付します。   AppForEnterprise02.zip


[セミナーフォローアップ] 11/28 TFセミナー 企業利用者のための、Windows Phone アプリ開発 ~業務アプリケーションの配信と管理を実装する Part 1: 企業向けアプリケーション展開、考え方と実装例

本日のセッションは、企業向けにWindows Phone アプリケーションを展開するための考え方と実装例について話をしました。 セッション構成です。 一般論としての確認です。 企業向けアプリケーションは、一般のアプリケーションと異なり、公開範囲やセキュリティ要件が異なります。 Web アプリケーションあるいは専用アプリケーションとしての展開が考えられます。それぞれ、セキュリティの実装が必要ですが、セキュリティについては、Part 2のセッションに委ねました。 Windows Phoneのアプリケーションは、Marketplaceを通じて配布します。 Windows Phoneのアプリケーションは、App Hubというサイトを通じて、申請され、審査が行われます。 App Hubのアカウントは年間登録料 9,800円でご利用いただけます。 学生の方には、DreamSparkをご提供しています。 Windows phone のアプリケーションは、.xap ファイルという zip 形式のファイルにまとめられます。中には、アセンブリファイル (.dll)や画像ファイルなどが含まれています。 App Hubに申請されたファイルはテストされて、問題なければ Windows Phone Marketplace に公開されます。 現時点のWindows Phone Marketplaceは、3種類の方法でアプリケーションを公開できます。 公開までの流れを確認しましょう。 ベーター公開は、審査対象外なので、制約はありませんが、あくまでもテスト用途のみにご利用いただけます。 Windows Phone Marketplaceは、現時点では、企業向けの配布機能を有していません。 このため、企業向けでも App Hubへ登録し、審査を通して、Windows Phone Markeplace を通じて配布が必要です。この時に、プライベート配布を利用することで、アプリケーションが一般には公開されないように制御できます。 開発者登録済みのデバイスは、開発者が10個までアプリケーションを直接インストールできます。しかし、企業向けのアプリケーションにこの機能を利用するのは推奨されません。理由として、開発者登録されたデバイスには自由にアプリケーションがインストールできるため、不用意にアプリケーションが展開されるリスクがあります。 ならば、一時的に開発者登録したデバイスにアプリケーションをインストールして、開発者登録を解除する方法を試みる方もいるかもしれませんが、これはうまく動作しません。開発者登録を解除すると、開発者がインストールしたアプリケーションの起動ができなくなります。 それでは、Windows Phone Markeplaceの制約を理解して、アプリケーション配布を考えましょう。 アプリケーションを非公開として Marketplace に登録してください。テストのメモをきちんと書くことをお勧めします。 Markeplace で管理されているアプリケーションには、一意のURLが割り振られます。公開、非公開に依らず、…

3

[TFセミナー フォローアップ] サンプル公開: Windows Phone 企業向けアプリケーション配布の考え方と実装例

本日、TFセミナーで利用したアプリケーションを共有します。事前に公開できず、Ustreamで視聴された皆様にはご迷惑をおかけしました。 この投稿の添付ファイルからダウンロードをお願いします。 ※ 添付は、IIS Expressを利用しています。利用していないバージョンは、こちら。   AppForEnterprise.zip


[セミナーフォローアップ] 8/20 Windows Phone Arch@神戸 「中の人が語る Windows Phone アプリケーション開発、Hello World から Windows Azure対応まで」

イベント詳細: http://atnd.org/events/17395  こちらも講演から一か月以上経過していますが、どんなことを話したかを簡単に振り返りたいと思います。 ・Windows Phone 概要 ・Windows Phone SDK 7.1と関連するツール ちょうど前日、品川オフィスで行った内容の繰り返し(短縮版)みたいな感じになりました。 ・UI、データ、通信 Silverlight や XAML などを初めて知る方もいらっしゃったので、画面作成について触れました。 データ系では、Isolated Storage Explorer で何故か笑いがこみあげてしまい…。    通信では、WCFを使った簡単なサービスをWindows Azure 対応させるまでを紹介しました。 ・プッシュ通知による新しいUX   2台のWindows Phone を使って、プッシュ経由でメディア再生を行うデモを行いました。   そろそろ真面目におバカアプリとして世に公開したいなぁ、と考えつつも、Windows Azureの費用を考えるともう少し仕様を詰めないと。 ・Marketplace TestkitとWindows Phone Profiler 時間の関係で、紹介程度。 ・Q&A 大会 いろいろと質問をいただきました。 Windows Phone Arch@神戸 スライド ショーの表示 すべてダウンロード また関西で講演したいです。


[セミナーフォローアップ] 8/19 Windows Phone 7.5 開発支援セミナー「開発ツールのすべてがわかる!~セットアップからパフォーマンステストまで」

先月実施したセミナーのフォローアップです。Windows Phone SDK 7.1を利用される方に参考にしていただければと思います。 USTREAMビデオアーカイブ: http://www.ustream.tv/recorded/16746113 http://www.ustream.tv/recorded/16746501 セッション当日は最新のWindows Phone SDK 7.1のビルドを利用して行いました。 最初に、Windows Phone アプリケーション開発の全体像をお話ししました。 パート1は、Windows Phone SDK 7.1のインストールについて紹介しました。dxdiagの実行確認もお忘れなく。 パート2は、Windows Phone Emulatorについて紹介しました。GPUが有効かどうかの判定をお忘れなく。 パート3は、デバイスの開発者登録と実機デバッグについてでした。Isolated Storage Explorerについては、http://wp7explorer.codeplex.com/ のツールも合わせて参考にすると良いでしょう。 最後のパートは、Marketplace TestkitとWindows Phone Profilerについてデモを交えて紹介しました。 Windows Phone SDK 7.1、ツールとしてよくできています。皆さんもご活用ください。


[セミナーフォローアップ] 8/27 スマートフォン勉強会@関東 #14

もう一か月くらい経過してしまいましたが、8/27 スマートフォン勉強会@関東 #14 で講演しました。 IIS Smooth Streamingのアーカイブ URL: (02:40:50 くらいから) http://live.streamingmedia.jp/sumaben/ 最初に、Windows Phone 超概要という形で、1分ビデオを利用してご紹介しました。 続いて、デバイスを複数台利用して、プッシュ通知を送るデモをご覧いただきました。 Windows Phone アプリケーションに必要な環境、Windows Phone SDK 7.1、Expression Blendを利用して、ビデオの再生やアニメーションの再生デモなどを行いました。 Windows Phone アプリケーションのページは、Webの概念に似ています。NavigationServiceクラスを通じて、簡単に画面遷移が行えます。 メインテーマである、Windows Phone と Windows Azure を組み合わせてアプリケーション開発する流れをご紹介しました。 WCF を利用したサービスを使えば、クライアント (Windows Phone側) と サーバー側 (ASP.NET Webアプリケーション)をまとめてデバッグ・テストできることをデモでお見せしました。 この段階ではサービス側は任意のWindows Serverからホストできる状態ですが、Windows Azureでホストするように変えていきましょう。Windows Azureプロジェクトを作成し、すでに作ってある ASP.NET Web アプリケーションを Web Roleに追加するだけです。この方法を理解すれば、インターネット接続可能なノートPCとWindows Phoneデバイスを持っていれば、世界中で利用できる Windows Phone アプリケーションを開発、公開することができます。 まとめを行い、Q&Aを実施しました。


[セミナーフォローアップ] 7/21 Windows Phone アプリケーション開発実践 通信編

本日、セミナーで登壇しました。内容を整理したいと思います。 Windows Phone “Mango”のデータと通信の機能を 利用したアプリケーション開発をテーマとしたセッションです。       4つのパートに分けて紹介します。         Windows Phone の通信機能を利用すれば、 クラウドと連係したアプリケーションを開発できます。 典型的なシナリオである、ファイルダウンロード、 RSS/ATOMフィードの読み込み、Webサービスの呼び出し、 メディア再生、プッシュを使ったサービス側からの データ転送を活用しましょう。   Windows Phoneに内蔵しているセンサーの情報を ローカルデータベースに記録し、必要に応じて、 クラウド側に送信することができます。 プッシュ通知をトリガーとして、Windows Phoneから クラウドのサービスを呼び出せば、場所に応じた 情報をタイムリーに利用できるアプリケーションを 開発できます。 まずは、機能の概要から。 (簡単に紹介するはずでしたが、イベントではちょっと スローペースな感じとなりました。)       データ系の機能として、重要なポイントは、 アプリケーションのデータは分離ストレージに記録することです。 Windows Phone “Mango”では、単なるファイルの読み書きだけではなく、 ローカルデータベースをLINQ to SQLで利用できます。 連絡先やカレンダーは読み取り専用アクセスです。 LINQ to XML、LINQ to ODataもあるので、Webリソースをうまく活用できます。     デモ #1:…


[セミナーフォローアップ] 2011/07/09 Silverlightを囲む会 in 東京 #3 – ビデオアーカイブとセッション資料

2011/07/09 (土)にSilverlightを囲む会 in 東京 #3で登壇し、「Silverlightと開発ツール、少ないコード量でデータを取り扱う方法あれこれ」というセッションを行いました。 当日のストリーミングは、Silverlight + IIS Media Services を利用した ライブスムーズストリーミングで、アーカイブをご覧いただけます。次の画像をクリックすると、プレイヤーのページ(http://live.streamingmedia.jp/slintky03/)に移動します。 アーカイブが見られる期間は限られていると思いますので、予告なくリンク切れする可能性があります、ご注意ください。 ビデオ内の時刻で02:55:21あたりからが私のセッションです。 ライブコーディングを基本としているので、詳細はビデオをご覧ください。 セッション資料は、PDF形式でこの投稿に添付しています。 WCF RIA Servicesで、AdventureWorksのデータベースにあるEmployeeテーブルにアクセスするデモを行いました。途中、メタデータを設定している部分のコードを残しておきます。 [Display(Name = “従業員ID”, Order = 1)] public int EmployeeID { get; set; } [Display(Name = “性別”, Order = 2)] public string Gender { get; set; } [Display(Name = “生年月日”, Order = 3)] public DateTime BirthDate {…