Blog


アプリの同期ファイルを保存するには

RoamingSetting

WindowsRuntimeでは同じアプリなら設定データを異なるデバイス間で同期することができます。

ただし、データ同期速度はそこまで早くありません。

ユニバーサルアプリの場合、アプリのストアへの関連付けを行った場合、WindowsアプリとWindowsPhoneアプリ間でデータ同期が行われます。

 

ファイル保存する場合

RoamingFolder内にファイルを作って保存します。

 

ファイルを復元する場合

こちらも同様に、RoamingFolder内を調べ、ファイルが存在すれば復元を行います。

 

 

 

データ同期できる最大サイズを取得する

RoamingデータはOneDriveを介して同期されるのでそのサイズにも限界があります。

最大データサイズはRoamingStorageQuotaで取得できます

 




アプリの同期設定を保存するには

RoamingSetting

WindowsRuntimeでは同じアプリなら設定データを異なるデバイス間で同期することができます。

ただし、データ同期速度はそこまで早くありません。

ユニバーサルアプリの場合、アプリのストアへの関連付けを行った場合、WindowsアプリとWindowsPhoneアプリ間でデータ同期が行われます。

 

データ保存

RoamingSettingコンテナーに設定データを入れることでデータが同期されます。

 

 

データ復元

RoamingSettingコンテナーの設定データを読み込むことでデータが復元されます。

 

データがあるかどうか確認する

データがないのに復元しようとするとキーがないと例外が発生します。

必ず復元時にはデータがあるか確認しましょう。

 

データ同期できる最大サイズを取得する

RoamingデータはOneDriveを介して同期されるのでそのサイズにも限界があります。

最大データサイズはRoamingStorageQuotaで取得できます

 




Postデータを取得するには

Postデータ

複数のWebページ間でのデータのやりとりの方法の一つとして、HttpPostというものがあります。

PostはHttpRequestデータの中にデータを埋め込むことができ、Requestを受けとったWebページはPostデータを取り出してページに反映することができます。

 

Postデータを送信する

Postデータを送信するにはHTMLのformタグを使って行います。

formタグのaction属性に遷移したいページのアドレス、method属性にpostを指定します。

 

formタグ内には、postデータとして送信したいデータをユーザーから入力してもらう形式にします。

そのために、inputタグを用いて入力コントロールをつくります。

type属性には入力の種類、name属性にはpostデータのキー、valueにはpostデータの値を設定します。

 

radiobuttonの場合、選択させたいボタンを同じnameにすると対応するvalue値が送信されます。

 

全体のコードはこのようになります。

このHTMLはこのようになります。ユーザーからの入力がこの用になった場合

19

 

Postされるデータのキーセットはこのようになります。

20

 

Postデータを受け取る

まず、Postデータを受け取るページをつくります。

ソリューションエクスプローラーからプロジェクト名を右クリック→追加→新しい項目

を押します。

21

 

 

ダイアログが表示されるのでpost.cshtmlという名前でページを追加します。

22

 

 

Razor構文内ではIsPostプロパティが存在し、これはHttpPostによるリクエストならTrueになります。

そして、Request.Formプロパティには、PostデータがNameValueCollectionとして入っています。

つまり。Request.Formのコレクションに先ほどPostしたデータのnameをキーとしてvalueを調べると値がかえってきます。

23

 

 




ページ内でC#のコードを実行する

Razor構文

ASP.netではページ内にC#のコードを埋め込むことでHTMLページ内でC#と.netFrameworkの強力なパワーを発揮することができます。

 

このようなcshtmlページをつくります。

実行してみるとこうなります。

16

@以降に記述された文はC#として扱われます。

このような記法をRazor構文と呼びます。

 

Razor構文では、わりとどこにC#のコードをいれても大丈夫です。

14[

しかし、変数などを使用するときは必ず使用する前に宣言をしないとコンパイルエラーが起こってしまいます。

コンパイルエラーになる場合

15

 

 

もちろんC#なので.netFrameworkのクラスをたたいたり、四則演算なども可能です

17

 

 

また、HTMLの要素内にC#のメンバーを埋め込む場合、

<p>@nextDay</p>

のように単一のメンバーを宣言するか

他の文章と合成させるなら@の前に1つ空白スペースを開ける必要があります。

<p>明日は @nextDay です</p>

また、このようなコードも実行できます

<p>@(“明日は”+nextDay+”です”)</p>

 

もし、@の前にスペースを入れなかった場合、

<p>明日は@nextDay です</p>

こうなります。

18




位置情報を利用するには

位置情報

GPSセンサーが付いているデバイスはGPSから、ついていないデバイスはIPアドレスなどから現在の位置情報を取得することができます。

位置情報は

latitude – 緯度

longitude – 経度

で特定することができます。

12

 

 

Geolocator

位置情報を使用するにはGeolocatorAPIを使用します。

まずこのようなXAML UIをつくります。

 

コンストラクタでGeolocatorを初期化し、

GetGeopositionAsyncメソッドで位置情報を取得します。

さまざまな情報を取得できますが都道府県名や市名などは取得できませんでした。もしかしたらGPSがついているデバイスなら取得できるかもしれません。

実行にはマニフェストファイルの機能タブから、「場所」にチェックを入れる必要があります。

13