html5の機能でWebリソースをキャッシュするための設定ファイルです。使用するWebリソースは全てキャッシュします。
CACHE MANIFEST #ver 20130702_0001 #キャッシュするリソースを指定します。 CACHE: index.html prework.html work.html comment.html gyoumu.css apl_sample/apl.js ar/ar.js #サーバに接続する必要のあるリソースを指定します。 NETWORK: * #リソースにアクセスできない場合の代替リソースを指定します。 FALLBACK:
変数 | 型 | 説明 | WebStorage保存 |
---|---|---|---|
Apl.useScenarioId | number | サンプルアプリケーションで使用するシナリオ。変更可 | |
Apl.operationMode | string | 動作モードを保持 | ○ |
Apl.scenarioList | Array<> | シナリオリストを保持。IDをインデックスにしてシナリオ名(name)とシナリオの説明(description)をプロパティに持つオブジェクトを保持。 | ○ |
Apl.scenarioId | number | 現在のシナリオIDを保持 | ○ |
Apl.sceneList | Array<> | シーンリストを保持。IDをインデックスにしてシーン名(name)とシーンの説明(description)をプロパティに持つオブジェクトを保持。 | ○ |
Apl.sceneId | number | 現在のシーンIDを保持 | ○ |
Apl.superimposedGraphics | Array<Array<>> | シーン、ARマーカー別にAR重畳表示定義を保持する3次元配列。1次:シーンID,2次:ARマーカーID,3次:AR重畳表示定義 | ○ |
Apl.postData | Object | 点検値入力時のAR実行サーバに送信するデータ。 query:ARサーバへのクエリ文字列 body:ARサーバに登録するデータ文字列 | ○ |
Apl.userData | Object | 最新の点検値データを保持 name:ユーザー名 temperature:点検温度 time:点検時間 | ○ |
Apl.listenerId | string | ARマーカー検知に登録したリスナID | |
Apl.completionNotice | Object | 複数ダウンロード実行時の終了判定用 |
クラス | 説明 | プロパティ |
---|---|---|
Apl.Quad | AR実行サーバのQuadを表現するクラス。 | qtypeName |
id | ||
qvalues | ||
version | ||
Apl.QValue | AR実行サーバのQvalueを表現するクラス。 | qtypeName |
qentityid | ||
qattributeName | ||
stringValue | ||
longValue | ||
floatValue | ||
version | ||
Apl.QuadQuery | AR実行サーバのquad検索のクエリを表現するクラス。 | type |
limitRange | ||
qattributeOrderIndexRange | ||
qtypeNameRange | ||
whereExpressions | ||
sortOrderExpressions | ||
Apl.Range | AR実行サーバのQuadの検索クエリの範囲を表現するクラス。 | start |
end | ||
Apl.QuadQueryExpression | AR実行サーバのQuadの検索クエリExpressionを表現するクラス。 | qattributeNameRanges |
qvalueRanges | ||
qvalueType | ||
desc |
メソッド | 概要 | 引数 | 説明 |
---|---|---|---|
Apl.noop(result) | 何もしないメソッド。コールバック時に何もさせない場合に指定。 | reslut : AR.Native.Result | ネイティブの結果オブジェクト |
Apl.log(message, detail) | JavaScriptエラーまたは文字列からエラーメッセージを作成してalert表示します。Detailが指定されている場合は追加してログに出力を行います。 | message : String または Error | エラーメッセージの本文。 |
detail : String | ログ出力に使用するエラーの詳細情報 | ||
Apl.getLocalStorageData() | WebStorageに保存した全てのデータを取得する。 | なし | |
Apl.*** Error(result) | JavaScriptライブラリ各種APIのonError用メソッド。エラー内容をalert表示する。 | result : AR.Native.Result | ネイティブの結果オブジェクト |
Apl.makeQuadQuery(qQuery) | QuadQueryクラスからquad検索文字列を生成する。 | qQuery: QuadQuery | Apl.QuadQueryオブジェクト |
Apl.showOperationMode() | 動作モードに応じてhtml表記を変更します。 | なし |
html、JavaScriptでは画面遷移やアプリケーション中断時に保持していたデータは保存されません。画面遷移後共通で持ちたいデータは全てWebストレージに保存します。画面遷移や中断のタイミングがわからないため、保存対象のデータに変更が起きた時点で逐一保存します。また、すべての画面のonloadでWebストレージからデータを取得しています。
エラーが発生した場合、JavaScript、ARネイティブどちらの場合でもエラーメッセージをalert表示してログに出力します。
// エラーログを出力します。 Apl.log = function (_message, _detail) { if (_message == null) return; var code = 0; var message; if (_message instanceof Error) { //Errorオブジェクトの場合 if (typeof _message.code == 'number') code = _message.code; message = _message.componentName == null ? _message : _message.componentName + " : " + _message; if (_message.cause != null) message += " Cause : " + _message.cause; } else message = _message; //それ以外の場合 //messageはアラートで表示します。 alert(message); //message + detailをログに出力します。 if (_detail) message += "\n" + detail; try { AR.Log.log(AR.Log.LevelType.ERROR, code, message, Apl.noop, Apl.logError); } catch (e) { alert("ログの出力に失敗しました。" + e); } };
例
JavaScriptでエラーが発生した場合
try { AR.Camera.stopCameraView(onSuccess, onError); } catch (e) { Apl.log(e); }
ARネイティブでエラーが発生した場合
onError = function (_result) { var message = "カメラの起動に失敗しました。"; var detail = _result.getStatus() + "\n" + _result.getValue(); Apl.log(message, detail); };