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_addressemail上記の課題が早々に終わってしまった人は,名前,よみがな,住所,メールアドレスに対して検索ができるよう,機能を付加して下さい。