address
アプリIndexedDB(Indexed DataBase)とは,ブラウザ側で保持されるデータベースの機能で,2018年4月現在,W3CではIndexed Database API 2.0が最新のものとしてその機能が定義されています。HTML5以前の古いブラウザでは一部の機能しかサポートされていない可能性がありますが,最新のレンダリングエンジンを積んでいるブラウザ環境であれば,永続的に使用できるNoSQL型のデータベース(容量・使用制限あり)です。
ここではデータベースの定義から始め,データの追加,表示,削除の機能を付加し,データベースの消去も行えるUIをApache Cordova環境で構築していきます。
まず,データベースの新規作成機能を作ります。www/index.html
を下記のように作成し,データベースを扱う関数群をwww/js/indexeddb.js
にまとめておきます。
www/index.html
www/js/indexeddb.js
この段階では,次のような画面になります。
では,データベース作成作業を行う部分を追加していきましょう。
まず,openDB関数
をwww/js/indexeddb.js
に追加します。
www/js/indexeddb.jsの追加部分
73, 74行目の処理を行うことで,検索インデックスrealname
,yomigana
が作られ,それぞれに対応するフィールドrealname
, yomigana
がデータベースに作られます。従って,このpersons
データベース内のテーブルは
ID | realname | yomigana |
---|---|---|
1 | 佐藤太郎 | さとうたろう |
2 | 鈴木次郎 | すずきじろう |
3 | 望月三郎 | もちづきさぶろう |
次に,www/index.html
にopenDB関数
を使って,「データベース作成」ボタンをクリックしたときにデータベースを作成するイベント処理を追加します。
www/index.htmlの追加部分
「データベース作成」ボタンを押しても,コンソールにエラーが出ていないことを確認出来たら,次の段階に進みましょう。
データベースの作成(1)ができたら,次のように順次機能を追加していきます。
完成した画面は下記のようになります。
ソースコード例は下記に示しますが,作成する際には(1)~(5)の機能をこの順に作成し,当該箇所を追記しつつ,その都度実行して動作確認をこまめに行うようにして下さい。
www/index.html
www/js/indexeddb.js
上記の機能を実装して動作確認した後,次の改良を加えて下さい。
index.html
, indexeddb.js
のソースコード部分を提示し,解説して下さい。
postal_address
email
上記の課題が早々に終わってしまった人は,名前,よみがな,住所,メールアドレスに対して検索ができるよう,機能を付加して下さい。