検索
特集

“時計アプリ”で見るWindows LiveガジェットのインパクトWindows Liveが魅せる次世代マッシュアップ(3/5 ページ)

Liveガジェットの制作はWebページの延長線上だといえる。JavaScriptの特定の処理さえマスターすれば、自由にガジェット開発が可能だ。その魅力を「時計ガジェット」から見てみよう。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

ユーザー設定値を保存する

 さて、画面1に示したLiveガジェットだが、当然のことながら、入力したテキストは、ログオフしてから後日、Windows Liveにログインしたときには失われている。

 次回ログインしたときにも失わないようにするには、ユーザーが入力したテキストを保存しておくようにすればよい。

 Liveガジェットにおいて、値を保存するには、ModuleオブジェクトのsetPreferenceメソッドを用いよう。Moduleオブジェクトは、コンストラクタのp_args変数のmoduleプロパティとして得ることができる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 setPreferenceメソッドでは、第1引数に適当なキーを、第2引数に保存したい値を渡す。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 値は文字列や数値である必要はなく、どんなオブジェクトでも引き渡すことができる。ただし保存できる最大サイズは、約1000文字(シリアル化されたあとの文字数であり、元のデータ数はそれより少ない)までだ。

 LiveガジェットSDKによると、今後、もっと多くのデータを保存できるAPIが提供されるとのことだ。

 setPreferenceメソッドで保存した値は、getPreferenceメソッドを使って取得できる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 getPreferenceメソッドは、もし、該当するキーに値がまだ保存されていないときにはnullを返す。そしてdeletePreferenceメソッドを呼び出すと、該当の保存値を削除することができる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 実際に、画面1に示したプログラムにおいて、ユーザーがテキストボックスに入力した値を保存して残しておくには、次に挙げるリスト3のようにすればよい。

 リスト3では、画面1に示した[設定]ボタンがクリックされたときに呼び出されるOnClick関数において、次のようにして「myvalue」というキーで、入力されたテキストを保存している。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

 そしてガジェットが読み込まれるときに呼び出されるinitializeメソッドにおいて、次のようにして、前回保存した値を取り出して、テキストボックスやdivタグ要素に再設定している。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

リスト3:値を保存する例

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る