“時計アプリ”で見るWindows Liveガジェットのインパクト:Windows Liveが魅せる次世代マッシュアップ(3/5 ページ)
Liveガジェットの制作はWebページの延長線上だといえる。JavaScriptの特定の処理さえマスターすれば、自由にガジェット開発が可能だ。その魅力を「時計ガジェット」から見てみよう。
ユーザー設定値を保存する
さて、画面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版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.