Xamarin.Forms でアプリの設定情報を保存

さつき
LINEで送る
Facebook にシェア
[`livedoor` not found]
[`nifty` not found]
[`yahoo` not found]
[`fc2` not found]
このエントリーをはてなブックマークに追加

アイキャッチ画像は、 さつき さんです。

 

今回はネット上の画像URLアドレスを保存して、その画像を背景画像に利用してます。

Navigation Page で追加した設定用ページで、テキストボックスに記入したURLアドレスを保存ボタンを押した時に保存します。そして、その保存情報を 「Yahoo!お天気情報」のページの背景画像に利用します。

 

まずは、settingPage.xaml に3つの画像に対応したボタンやラベルなどのコントロールを配置しています。

また、入力した画像のURLアドレスが正しいのかがわかる様に背景を設定し、アドレスが入力される毎に背景画像が切り替わる様にしています。入力ミスがあると画像が表示しないので、エラーに¥気づくと思います。

 

settingPage.xaml

 

settingPage.xaml.cs では、今回の目玉である Propaties を利用して、入力された画像のURLアドレスを保存しています。

「保存」ボタンが押されると、情報(画像のURLアドレス)が保存され、そのURLの画像が背景画像に設定されます。背景画像が出ない場合は、アドレスのタイプミスがあることになります。

保存した画像のURLアドレスは、メインの画面で利用します。

 

settingPage.xaml.cs

 

YahooWeather_FormsPage.xaml は、基本的には変更していません。字の見易さを考えて背景画像の透明度など、若干の変更をしています。

 

YahooWeather_FormsPage.xaml

 

YahooWeather_FormsPage.xaml.cs は、保存したURLアドレスの画像を背景画像にしています。

保存情報の指定の仕方が、以下の様に違います。

[情報を保存したページ(settingPage)での指定例]

  • Application.Current.Properties.ContainsKey(KeyText1)

[他のページ(YahooWeather_FormsPage)での指定例]

  • Application.Current.Properties.ContainsKey(settingPage.KeyText1)

また、画像URLアドレスを消した場合に、元の内部画像を表示する様にゴチャゴチャ書いてます。(ぜんぜんスマートではないですね。)

 

YahooWeather_FormsPage.xaml.cs

 

今回は、iPhone のみの紹介ですが、Android も動作するのを確認しています。

 

設定画面で画像のURLアドレスを保存します。最大3つまでです。登録がない場合は、内臓の画像を表示します。

URLアドレスを記録した画像が背景画像に設定されます。

 

 

参考サイト

Xamarin.Forms でアプリの設定情報を保存するには

Xamarin.Forms でセッションデータを保存・復元したい

[Xamarin.Forms] Properties Dictionaryを使ってデータを永続化する
https://dev.classmethod.jp/smartphone/xamarin-forms-properties-dictionary/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です