メインコンテンツまでスキップ

setStoreData

Description

値をアプリスコープのローカルストレージ(ディスク)に永続的に保存します。datanullを渡すと、そのキーが削除されます。setSharedDataと異なり、アプリを再起動しても値が保持されます

Parameters

パラメーター説明
keyString保存するデータのキー名
datadynamic保存する値。nullの場合はそのキーを削除

Returns

void

Notes

  • 内部では、アプリスコープのprefixが付いたキーでLucyStorageに保存されます。
  • ディスクI/Oを使うため、setSharedDataより相対的に遅くなります。
  • ログイントークンやテーマ・ユーザー設定など、アプリを再起動しても保持したい値に使ってください。
  • 特定のキーだけを削除するには、nullを渡すか$app.removeStoreData(key)を使います。

Example

// ダークテーマ設定を永続保存
$app.setStoreData("THEME_MODE", 1);

// 保存された値を削除
$app.setStoreData("THEME_MODE", null);

setSharedData vs setStoreData vs setVarの比較

区分setSharedDatasetStoreDatasetVar
保存場所アプリプロセスのメモリディスク(LucyStorage)アプリ変数システム(LucyVarMngr)
永続性アプリ終了時に消滅アプリ再起動後も保持アプリ終了時に消滅
定義方法コードで自由にキーを指定コードで自由にキーを指定Studioで事前に定義が必要
読み取り関数$app.getSharedData(key)$app.getStoreData(key)$app.getVar(name)
削除方法null値を渡すnull値を渡す値の変更のみ可能
主な用途ページ間での一時データ共有ユーザー設定、ログイントークンなどの永続保存Studio UIと連携したアプリ変数の制御
速度高速(メモリ)相対的に低速(ディスクI/O)高速(メモリ)
  • $app.getStoreData(key)
  • $app.removeStoreData(key)
  • $app.setSharedData(sharedKey, data)