Oracle® Fusion Middleware Oracle Application Development Frameworkモバイル開発者ガイド 11g リリース2 (11.1.2.3.0) B70750-01 |
|
![]() 前 |
![]() 次 |
この章では、ADFモバイルJavaScript API拡張機能、ADFモバイル・コンテナ・ユーティリティAPI、およびカスタムSpringboardアプリケーションのためのadfmfjavaUtilities
APIの使用方法について説明します。
この章では、次の項目について説明します。
JavaScriptを使用してJavaScript API拡張機能をコールすることで、HTMLで作成されたカスタムSpringboardにナビゲーション機能を追加できます。第5.4.4項「HTMLコンテンツによるカスタムSpringboardアプリケーション機能について」で説明したように、JavaScript <script>
タグにメソッドを追加することで、コールバックを有効にしてPhoneGapを活用できます。例6-1では、このタグを使用してPhoneGapをコールしています。
例6-1 HTML Springboardページへの<script>タグの埋込み
... <script type="text/javascript" charset="utf-8" src=../../../www/js/phonegap-1.0.0.js"></script> <script type="text/javascript" src="../../../www/js/adf.el.js"></script> ...
注意:
|
ADFモバイルでのJavaScriptの使用では、PhoneGapのインフラストラクチャを活用し、適切なJavaScriptコンストラクタによってブラウザのDOM (Document Object Model)を初期化します。また、PhoneGapオブジェクト・コンストラクタ・インフラストラクチャを使用することで、競合状態も回避します。さらに、ADFモバイルはPhoneGapメッセージをネイティブ・デバイス・コードにポストして、ADFモバイルPhoneGapコマンドを起動します。
PhoneGap APIに対するADFモバイル拡張機能では、モバイル・デバイスのAPIによってadfmf-feature.xml
およびadfmf-application.xml
ファイルの構成セットにアクセスできるようになります。これにより、モバイル・デバイスとADFモバイルのインフラストラクチャ間の通信が確立します。これらの拡張機能は、アプリケーション機能の表示動作も指示します。
ADFモバイル・コンテナ・ユーティリティAPIのメソッドは、ナビゲーション・バーの表示または非表示、Springboardの表示、アプリケーション機能の起動などの機能をADFモバイル・アプリケーションに提供します。これらのメソッドは、ADFモバイルのJavaおよびJavaScriptレイヤーで使用できます。
例6-2に示すように、JavaScript内でコンテナ・ユーティリティAPIはadf.mf.api
JavaScriptオブジェクトに配置されます。この例では、gotoSpringboard
メソッドをコールしています。
例6-2 JavaScriptでのコンテナ・ユーティリティAPIのコール
<script type="text/javascript" charset="utf-8" src="../../../www/js/phonegap-1.0.0.js"></script> ... adf.mf.api.gotoSpringboard(); ...
注意:
JDeveloper\mywork\Mobile_Application\ViewController\public_html\customspringboard.html
設計時にはパスが存在しないので、JavaScriptインクルードは、JDeveloperによってソース・エディタ内ではエラーとして赤い波線で強調表示されます。このパスは実行時に解決されます。 |
Javaでは、コンテナ・ユーティリティAPIは、静的メソッドとしてAdfmfContainerUtilities
クラスに実装されます。このクラスはoracle.adfmf.framework.api
パッケージにあります。例6-3では、gotoSpringboard
メソッドをコールしています。oracle.adfmf.framework.api.AdfmfContainerUtilities
の詳細は、Oracle Fusion Middleware Oracle ADFモバイルJava APIリファレンスを参照してください。
例6-3 Javaでのコンテナ・ユーティリティAPIのコール
import oracle.adfmf.framework.api.AdfmfContainerUtilities; ... AdfmfContainerUtilities.gotoSpringboard(); ...
JavaとJavaScriptのシグネチャは一致します。Javaでは、シグネチャは同期化され、直接結果が戻されます。JavaScriptは非同期なので、結果を返すsuccess
コールバックと、スローされた例外を戻すfailed
コールバック2つのコールバック関数が各関数に追加されます。Javaメソッドでは、success
値は関数またはメソッドから戻され、例外はメソッドから直接スローされます。たとえば、public static (, , ...) throws
などの引数をとらないコールは、次のようにJava内で実行されます。
try { result = AdfmfContainerUtilities.(, , ...); } catch() { ... }
JavaScriptのコールは非同期なので、関数の実行が完了した時点で、コールバック・メカニズムを通して戻す必要があります。JavaScriptのシグネチャはadf.mf.api.(, , ..., , )
で、次のように呼び出されます。
adf.mf.api.(, , ..., , )
このコールは、function(request, response)
と定義されます。request
引数の値は、実際のリクエストです。response
はfunction(request, response)
と定義され、この値は実際のリクエストです。レスポンスは関数の実行時にスローされます。
public static <return value> <function name>(<arg0>, <arg1>, ...) throws <exceptions>
のように、1つ以上の引数をとるコールは、次のようにJava内で実行されます。
try { result = AdfmfContainerUtilities.<function_name>(<arg0>, <arg1>, ...); } catch(<exception>) { ... }
JavaScriptのコールは非同期なので、結果を戻すことができません。そのかわりに、関数の実行の完了時にコールバック・メカニズムが必要になります。成功および失敗のコールバックのシグネチャは、どちらもfunction(request, response)
です。ここでrequest
引数は実際のリクエストのJSON表現です。response
はメソッドから戻されたもののJSON表現です(success
コールバック関数の場合)。failed
コールバック関数の場合は、スローされた例外のJSON表現になります。
コンテナ・ユーティリティAPIでは、次のメソッドが提供されます。
checkforNewConfiguration: ホストされたconnections.xml
ファイル内の変更をチェックします。
getApplicationInformation: ADFモバイル・アプリケーションのメタデータを取得します。
gotoDefaultFeature: デフォルトのアプリケーション機能を表示します。
getFeatures: アプリケーション機能を取得します。
gotoFeature: 特定のアプリケーション機能を表示します。
getFeatureByName: アプリケーション機能の名前を使用して、アプリケーション機能に関する情報を取得します。
getFeatureById: IDを使用してアプリケーション機能を取得します。
resetFeature: アプリケーション機能をロード時の状態にリセットします。
gotoSpringboard: Springboardを表示します。
hideNavigationBar: ナビゲーション・バーを非表示にします。
showNavigationBar: ナビゲーション・バーを表示します。
"invokeMethod": Javaメソッドを起動します。
invokeContainerJavaScriptFunction: JavaScriptメソッドを起動します。
構成サービスの使用時に、このメソッドは、構成済のエンドポイントに対する変更がないか、connections.xml
ファイルをホストするサーバーをチェックするように、ADFモバイルにリクエストします。変更をチェックするために、ADFモバイルは、サーバー上でホストされる接続関連のコンテンツとデバイス上の構成を比較するスレッドを作成します。ADFモバイルが、デバイス構成が古くなっているのを検出したら、checkforNewConfiguration
メソッドによって、新しい構成が検出されたのでアプリケーションを閉じることをユーザーに通知する、非ブロッキング・コールが発行されます。ADFモバイルはユーザーにアプリケーションの再起動を促します。
Javaでは、このメソッドは次のようになります。
public static void checkForNewConfiguration() throws oracle.adfmf.framework.exception.AdfException
例6-4は、このメソッドの使用方法を示しています。
例6-4 Javaを使用した構成情報の取得
import oracle.adfmf.framework.api.AdfmfContainerUtilties; ... try { AdfmfContainerUtilities.checkForNewConfiguration(); }catch(AdfException e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void checkForNewConfiguration(success, failed)
success
コールバックはfunction(request, response)
という形式にする必要があります。このrequest
引数には元のリクエストが格納され、response
引数には関連するAdfmfContainerUtilities
メソッドの戻り値(void
)が格納されます。failed
コールバックはfunction(request, response)
という形式にする必要があります。このrequest
引数には元のリクエストが格納され、response
引数にはエラー(AdfException
)が格納されます。
例6-5は、これらのコールバック関数を使用して構成情報を取得する方法を示しています。
このメソッドは、アプリケーションに関する情報を格納したApplicationInformation
オブジェクトを戻します。このメソッドでは、アプリケーションID、アプリケーション名、バージョン、カスタムSpringboardアプリケーションのベンダーといったメタデータが戻されます。
Javaでは、このメソッドは次のようにコールされます。
public static oracle.adfmf.framework.ApplicationInformation getApplicationInformation() throws oracle.adfmf.framework.exception.AdfException
例6-6は、このメソッドのコール方法を示しています。
例6-6 Javaを使用したアプリケーション情報の取得
import oracle.adfmf.framework.api.AdfmfContainerUtilties; ... try { ApplicationInformation[] ai = AdfmfContainerUtilities.getApplicationInformation(); ... }catch(AdfException e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void getApplicationInformation(success, failed)
success
コールバックはfunction(request, response)
という形式にする必要があります。このrequest
引数には元のリクエストが格納され、response
引数には関連するAdfmfContainerUtilities
メソッドの戻り値が格納されます。この戻り値は、アプリケーション・レベルのメタデータを格納するApplicatiaonInformation
オブジェクトです。ここには、アプリケーション名、ベンダー、バージョンおよびアプリケーションIDが含まれます。
failed
コールバックはfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
例6-7は、これらのコールバック関数を使用してアプリケーション情報を取得する方法を示しています。
このメソッドは、ADFモバイルがデフォルトのアプリケーション機能を表示するようにリクエストします。デフォルトのアプリケーション機能とは、ADFモバイル・アプリケーションの起動時に表示されるアプリケーション機能です。
注意: 認証関連または許可関連の問題が発生している場合、このメソッドではアプリケーション機能を表示できないことがあります。 |
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void gotoDefaultFeature(success, failed)
success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequest
引数には元のリクエストが格納され、response
引数には関連するAdfmfContainerUtilities
メソッドの戻り値(void
)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequest
引数には元のリクエストが格納され、response
引数にはエラーが格納されます。
例6-8は、これらのコールバック関数を使用してデフォルトのアプリケーション機能をコールする方法を示しています。
このメソッドは、使用可能なアプリケーション機能を表すFeatureInformation
オブジェクトの配列を戻します。戻されるメタデータには、機能ID、アプリケーション機能名およびアプリケーション・アイコンに使用するイメージ・ファイルの場所が含まれます。このコールにより、カスタムSpringboardの実装は、制約の適用後に使用可能になるアプリケーション機能のリストにアクセスできるようになります。(これらのアプリケーション機能もデフォルトのSpringboardに表示されることがあります。)
Javaでは、このメソッドは次のようにコールされます。
public static oracle.adfmf.framework.FeatureInformation[] getFeatures() throws oracle.adfmf.framework.exception.AdfException
例6-9は、このメソッドの使用方法を示しています。
例6-9 Javaを使用したアプリケーション機能情報の取得
import oracle.adfmf.framework.api.AdfmfContainerUtilties; ... try { FeatureInformation[] fia = null; fia = AdfmfContainerUtilities.getFeatures(); for(int f = 0; f < fia.length; ++f) { FeatureInformation fi = fia[i]; ... } }catch(AdfException e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void getFeatures(success, failed)
success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequest
引数には元のリクエストが格納され、response
引数には関連するAdfmfContainerUtilities
メソッドの戻り値(FeatureInformation
オブジェクトの配列)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequest
引数には元のリクエストが格納され、response
引数にはエラー(AdfException
)が格納されます。
このメソッドは、ADFモバイルが、IDによって識別されたアプリケーション機能を表示するようにリクエストします。
注意: 認証関連または許可関連の問題が発生している場合、このメソッドではアプリケーション機能を表示できないことがあります。 |
Javaでは、このメソッドは次のようにコールされます。
public static void gotoFeature(java.lang.String featureId) throws oracle.adfmf.framework.exception.AdfException
例6-11に示すように、このメソッドのパラメータはアプリケーション機能のIDです。
例6-11 アプリケーション機能のアクティブ化
import oracle.adfmf.framework.api.AdfmfContainerUtilties; ... try { AdfmfContainerUtilities.gotoFeature("feature.id"); }catch(AdfException e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void gotoFeature(featureId, success, failed)
featureId
パラメータは、アプリケーション機能IDです。このパラメータはsuccess
コールバック関数をアクティブ化します。このコールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するAdfmfContainerUtilities
メソッドの戻り値(void
)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
例6-12は、これらのコールバック関数を使用してアプリケーション機能をコールする方法を示しています。
このメソッドは、渡されたアプリケーション機能の名前を使用して、アプリケーション機能に関する情報を戻します。
Javaでは、このメソッドは次のようにコールされます。
public static oracle.adfmf.framework.FeatureInformation getFeatureByName(java.lang.String featureName) throws oracle.adfmf.framework.exception.AdfException
例6-13に示すように、このメソッドのパラメータはアプリケーション機能の名前です。
例6-13 アプリケーション機能名を使用したアプリケーション機能情報の取得
... try { FeatureInformation fi = AdfmfContainerUtilities.getFeatureByName("feature.name"); }catch(AdfException e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void getFeatureByName(featureName, success, failed)
featureName
パラメータは、アプリケーション機能の名前です。success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するAdfmfContainerUtilities
メソッドの戻り値(void
)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
例6-14は、これらのコールバック関数の使用方法を示しています。
このメソッドは、アプリケーションIDを使用してアプリケーション機能を取得します。
Javaでは、このメソッドは次のようにコールされます。
import oracle.adfmf.framework.api.AdfmfContainerUtilties;
例6-15に示すように、このメソッドのパラメータはアプリケーション機能のIDです。
例6-15 JavaでのIDを使用したアプリケーション機能の取得
try { FeatureInformation fi =AdfmfContainerUtilities.getFeatureById("feature.id"); }catch(AdfException e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void getFeatureById(featureId, success, failed)
featureId
パラメータは、アプリケーション機能のIDです。success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するAdfmfContainerUtilities
メソッドの戻り値(void
)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
例6-16は、これらのコールバック関数を使用してアプリケーション機能を取得する方法を示しています。
このメソッドは、アプリケーション機能の状態をリセットします。このメソッドでは、アプリケーション機能のJava側のモデルをリセットして、ADFモバイル・アプリケーションがロードされ、最初にアプリケーション機能が表示されたときのようにユーザー・インタフェース・プレゼンテーションを再起動します。
Javaでは、このメソッドは次のようにコールされます。
public static void resetFeature(java.lang.String featureId) throws oracle.adfmf.framework.exception.AdfException
例6-17に示すように、このメソッドのパラメータはリセットされるアプリケーション機能のIDです。
例6-17 Javaでのアプリケーション機能のリセット
import oracle.adfmf.framework.api.AdfmfContainerUtilties; ... try { AdfmfContainerUtilities.resetFeature("feature.id"); }catch(AdfException e) { // handle the exception
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void resetFeature(featureId, success, failed)
success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するメソッドの戻り値(アプリケーション機能のID)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
例6-18は、これらのコールバック関数を使用してアプリケーション機能をコールする方法を示しています。
このメソッドは、ADFモバイルがSpringboardを表示するようにリクエストします。
注意:
|
Javaでは、このメソッドは次のようにコールされます。
public static void gotoSpringboard()
例6-19は、このメソッドの使用方法を示しています。
例6-19 JavaでのSpringboardのアクティブ化
import oracle.adfmf.framework.api.AdfmfContainerUtilties; ... try { AdfmfContainerUtilities.gotoSpringboard(); }catch(AdfException e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void gotoSpringboard(success, failed)
success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するメソッドの戻り値(void
)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
例6-20は、これらのコールバック関数の使用方法を示しています。
このメソッドは、ADFモバイルがナビゲーション・バーを非表示にするようにリクエストします。
Javaでは、このメソッドは次のようにコールされます。
public static void hideNavigationBar()
例6-21は、このメソッドの使用方法を示しています。
例6-21 Javaでのナビゲーション・バーの非表示化
import oracle.adfmf.framework.api.AdfmfContainerUtilties; ... try { AdfmfContainerUtilities.hideNavigationBar(); }catch(Exception e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void hideNavigationBar(success, failed)
success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するメソッドの戻り値(void
)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
例6-22は、これらのコールバック関数の使用方法を示しています。
このメソッドは、ADFモバイルがナビゲーション・バーを表示するようにリクエストします。
Javaでは、このメソッドは次のようにコールされます。
public static void showNavigationBar()
例6-23は、このメソッドの使用方法を示しています。
例6-23 Javaでのナビゲーション・バーの表示
import oracle.adfmf.framework.api.AdfmfContainerUtilties; ... try { AdfmfContainerUtilities.showNavigationBar(); }catch(Exception e) { // handle the exception }
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void showNavigationBar(success, failed)
success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するメソッドの戻り値(void
)が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
例6-24は、これらのコールバック関数の使用方法を示しています。
このメソッドは、次のようにクラスパス内の任意のクラスからJavaメソッドを起動します。
adf.mf.api.invokeMethod(classname, methodname, param1, param2, ... , paramN ,successCallback, failedCallback);
表6-1に、このメソッドによって取得されるパラメータを示します。
表6-1 invokeJavaMethodに渡されるパラメータ
パラメータ | 説明 |
---|---|
|
Javaメソッドのコール時にADFモバイルがインスタンスを作成するために使用するクラス名(パッケージ情報を含む) |
|
|
success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するメソッドの戻り値が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
複数のパラメータによるこのメソッドの使用例は次のとおりです。
adf.mf.api.invokeMethod("TestBean", "setStringProp", "foo", success, failed);
adf.mf.api.invokeMethod("TestBean", "getStringProp", success, failed);
整数パラメータの使用例は次のとおりです。
adf.mf.api.invokeMethod("TestBean", "testSimpleIntMethod", "101", success, failed);
複合パラメータの使用方法は次のとおりです。
adf.mf.api.invokeMethod("TestBean", "testComplexMethod", {"foo":"newfoo","baz":"newbaz",".type":"TestBeanComplexSubType"}, success, failed);
パラメータが存在しない場合の使用方法は次のとおりです。
adf.mf.api.invokeMethod("TestBean", "getComplexColl", success, failed);
String
パラメータの使用方法は次のとおりです。
adf.mf.api.invokeMethod("TestBean", "testMethodStringStringString", "Hello ", "World", success, failed);
invokeContainerJascriptFunction
は、JavaScriptメソッドを起動します。表6-2に、このメソッドによって渡されるパラメータを示します。
表6-2 invokeContainerJavaScriptFunctionに渡されるパラメータ
パラメータ | 説明 |
---|---|
|
JavaScriptの起動コンテキストを決定するためにADFモバイルによって使用されるアプリケーション機能のID。このIDによって、このメソッドがコールされるWebビューが決まります。 |
|
起動させるメソッドの名前。 |
|
メソッドに渡される引数の配列。この配列内で、これらの引数はメソッドが期待する順序で並べられます。 |
このメソッドは、JSONオブジェクトを戻します。
例6-25 invokeContainerJavaScriptFunctionメソッド
public static java.lang.Object invokeContainerJavaScriptFunction(java.lang.String featureId, java.lang.Object[] args) throws oracle.adfmf.framework.exception.AdfException
例6-26は、feature1
という名前のアプリケーション機能に含まれるappFunctions.js
という名前のJavaScriptファイルを示しています。このファイル内で記述されているJavaScriptメソッド、application.testFunction
は、invokeContainerJavaScriptFunction method
によってコールされます(例6-27を参照)。アプリケーションには、この関数をコールするアクション・リスナーで構成されるコマンド・ボタンが含まれているので、ユーザーがこのボタンをクリックすると、次のようなアラートが表示されます。
APP ALERT 0
APP ALERT 1
APP ALERT 2
例6-26 appFunctions.js
(function() { if (!window.application) window.application = {}; application.testFunction = function() { var args = arguments; alert("APP ALERT " + args.length + " "); return "application.testFunction - passed"; }; })();
例6-27は、invokeApplicationJavaScriptFunction
メソッドによって、例6-26で記述されているJavaScriptメソッド(application.testFunction
)をコールする方法を示しています。
例6-27 JavaScript関数のコール
invokeApplicationJavaScriptFuntions public void invokeApplicationJavaScriptFuntions(ActionEvent actionEvent) { AdfmfContainerUtilities.invokeContainerJavaScriptFunction("feature1", "application.testFunction", new Object[] {} ); AdfmfContainerUtilities.invokeContainerJavaScriptFunction("feature1", "application.testFunction", new Object[] {"P1"} ); AdfmfContainerUtilities.invokeContainerJavaScriptFunction("feature1", "application.testFunction", new Object[] {"P1", "P2"} ); }
詳細は、Oracle Fusion Middleware Oracle ADFモバイルJava APIリファレンスを参照してください。
JavaScriptでは、次のように、success
およびfailed
コールバック関数によって、戻り値と例外をJavaScriptのコール元コードに戻すことができます。
public void invokeContainerJavaScriptFunction(success, failed)
success
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseには関連するメソッドの戻り値が格納されます(表6-2を参照)。responseには関連するAdfmfContainerUtilities
メソッドの戻り値が格納されます。
failed
コールバック関数はfunction(request, response)
という形式にする必要があります。このrequestには元のリクエストが格納され、responseにはエラーが格納されます。
adfmfJavaUtilties
APIには、getDirectoryPathRoot
メソッドが含まれています。このメソッドはJavaレイヤーからのみコールでき、iOSシステム上のファイルへのアクセスを可能にします。例6-28に示すように、このメソッドは、iOSアプリケーション・バンドル(.ipa
ファイル)にパッケージ化されているファイル、一時ファイルの場所およびデバイス上のキャッシュ・ディレクトリの場所へのアクセスを可能にします。oracle.adfmf.framework.api.AdfmfJavaUtilities
の詳細は、Oracle Fusion Middleware Oracle ADFモバイルJava APIリファレンスを参照してください。
例6-28 iOSシステム上のファイルへのアクセス
import oracle.adfmf.framework.api.AdfmfJavaUtilities; ... public void getDirectoryPathRoot() { // returns the directory for storing temporary files String tempDir = AdfmfJavaUtilities.getDirectoryPathRoot(AdfmfJavaUtilities.TemporaryDirectory); // returns the directory for storing application files String appDir = AdfmfJavaUtilities.getDirectoryPathRoot(AdfmfJavaUtilities.ApplicationDirectory); // returns the directory for storing cache files String deviceDir = AdfmfJavaUtilities.getDirectoryPathRoot(AdfmfJavaUtilities.DeviceOnlyDirectory); }