Ionic Meetup
#22 Tokyo




Storage API は、単純なデータの key-value のストアを提供します。

モバイル OS は定期的に window.localStorage の値を消去します。そのため、window.localStorage に代わる API を利用する必要があります。この API は Mobile OS’s may periodically clear data set in window.localStorage, so this API should be used instead of window.localStorage. この API は、Progressive Web App として利用すると localStorage を利用します。

iOS ではこのプラグインは UserDefaults を利用し、Android では SharedPreferences を利用します。保存したデータはアプリがアンインストールされた時削除されます。

Note: この API は、ハイパフォーマンスのデータストレージアプリケーション向けではありません。アプリケーションに大量のアイテムを格納する場合、読み取り/書き込みの負荷が高い場合、または複雑なクエリーが必要な場合は、SQLite または別のデータ・エンジンを使用する方法を検討してください。

Working with JSON

Storage works on Strings only. However, storing JSON blobs is easy: just JSON.stringify the object before calling set, then JSON.parse the value returned from get. See the example below for more details.

This method can also be used to store non-string values, such as numbers and booleans.


import { Plugins } from '@capacitor/core';

const { Storage } = Plugins;

// JSON "set" example
async setObject() {
  await Storage.set({
    key: 'user',
    value: JSON.stringify({
      id: 1,
      name: 'Max'

// JSON "get" example
async getObject() {
  const ret = await Storage.get({ key: 'user' });
  const user = JSON.parse(ret.value);

async setItem() {
  await Storage.set({
    key: 'name',
    value: 'Max'

async getItem() {
  const { value } = await Storage.get({ key: 'name' });
  console.log('Got item: ', value);

async removeItem() {
  await Storage.remove({ key: 'name' });

async keys() {
  const { keys } = await Storage.keys();
  console.log('Got keys: ', keys);

async clear() {
  await Storage.clear();



get(options: { key: string; }) => Promise<{ value: string | null; }>

Get the value with the given key.

Param Type
options { key: string; }

Returns: Promise<{ value: string; }>


set(options: { key: string; value: string; }) => Promise<void>

Set the value for the given key

Param Type
options { key: string; value: string; }


remove(options: { key: string; }) => Promise<void>

Remove the value for this key (if any)

Param Type
options { key: string; }


clear() => Promise<void>

Clear stored keys and values.


keys() => Promise<{ keys: string[]; }>

Return the list of known keys

Returns: Promise<{ keys: string[]; }>

<- Status Bar
Toast ->
Contribute ->