クロスプラットフォーム対応のモバイルアプリ開発フレームワークであるIonic2の使い方を紹介していきます。
Ionicでモバイルアプリを作ろう!(1)概要・環境構築
Ionicでモバイルアプリを作ろう!(2)ツールの基本的な使い方を覚える
Ionicでモバイルアプリを作ろう!(3)ページの作成/ページ遷移
Ionicでモバイルアプリを作ろう!(4)HTTP通信(REST API)
Ionicでモバイルアプリを作ろう!(5)スタイル定義
Ionicでモバイルアプリを作ろう!(6)プロキシを使う
Ionicでモバイルアプリを作ろう!(6)プロキシを使う
今回はIonicアプリで端末上にデータを保存する方法について解説したいと思います。
Storage
Ionicにはデータをキー・バリューまたはJSONを保存できるStorageというインターフェースが含まれています。
Storageは内部的にプラットフォームごとに最適なものを選択してくれるので
プラットフォーム差異を気にすることなく実装が可能です。
モバイル端末上で動かす際にはSQLiteを内部的に用いるため、
CordovaのSQLiteプラグインをインストールしておく必要があります。
補足***************************************************************************
CordovaはIonicが基にしているフレームワークで、カメラやストレージ等デバイスの機能にアクセス
するためのJavaScriptインターフェースをプラグインという形で提供しています。
*******************************************************************************
プロジェクトのディレクトリで下記コマンドを実行します。
$ ionic plugin add cordova-sqlite-storage --save
次にIonicのStorageモジュールをインストールしておきます。
$ npm install @ionic/storage --save
次にStorageモジュールをアプリ全体でSeviceとして用いたいのでNgModuleで宣言をしておきます。
/src/app/app.module.tsに以下のように追記します。
//...
import { Storage } from '@ionic/storage';
@NgModule({
declarations: [
//...
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
//...
],
providers: [
Storage
]
})
export class AppModule {}
ここまで出来たらあとはStorageを使いたい場所でInjectすることで使えます。
ごく簡単な実装例を載せておきます。
//...
import { Storage } from '@ionic/Storage';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController, private storage: Storage) {
}
setId () {
this.storage.set("id", "012345678");
}
getId(){
this.storage.get("id").then(id => {
console.log(id);
});
}
}