Oracle® Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.0 E56275-01 |
|
![]() 前 |
![]() 次 |
この章では、iOSとAndroidの両方のプラットフォーム用に開発されたMAFアプリケーションのテストとデバッグを行う方法について説明します。
この章には次の項が含まれます:
MAFアプリケーションのテストとデバッグを開始する前に、そのアプリケーションを次のいずれかにデプロイする必要があります。
iOSデバイス
iOSデバイス・シミュレータ
Androidデバイス
Androidデバイス・エミュレータ
MAFアプリケーションは、デプロイしないと実行できません。詳細は、第19章「モバイル・アプリケーションのデプロイ」を参照してください。
MAFアプリケーションのテストとデバッグを行うには、通常、次の手順を実行します。
スプラッシュ画面、アプリケーション機能のナビゲーション、認証、プリファレンスなど、アプリケーションのインフラストラクチャをテストして、うたわれているすべてのアプリケーション機能が使用可能であることを確認します。
アプリケーションにMAF AMXコンテンツが含まれている場合は、このアプリケーション機能のロジック、ページ・フロー、データ・コントロールおよびUIコンポーネントをテストします。
必要に応じてアプリケーションに変更を加えます。
モバイル・デバイスを再接続するか、シミュレータを再起動し、さらなるテストおよびデバッグのためにアプリケーションをデプロイして実行します。
詳細は、次を参照してください。
MAFアプリケーションをテストするには、次の2つの方法があります。
モバイル・デバイス上でのテスト: この方法では常に、最も正確な動作が提供されます。アプリケーションのパフォーマンスを測定する場合も、この方法をとる必要があります。ただし、テスト実行者がテスト対象のすべてのデバイスを入手できるとはかぎらないため、デバイスのテストは確実なものとは言えません。
モバイル・デバイス・エミュレータまたはシミュレータ上でのテスト: この方法は通常、よりよいパフォーマンスとより高速なデプロイを提供し、便利です。ただし、デバイスのエミュレータまたはシミュレータは、対応する物理デバイスに近似したものであるとは言え、動作の相違やエミュレートできる機能の制限が存在する場合があります。
通常、両方の方法を組み合せて使用することで、最良の結果が得られます。
iOSデバイス用に開発されたMAFアプリケーションのアクセシビリティをテストするには、次の方法を組み合せて使用してください。
iOSデバイス・シミュレータ上でアクセシビリティ・インスペクタを使用してテストする。
詳細は、iOS Developer Libraryにある『Accessibility Programming Guide for iOS』の「Testing the Accessibility of Your iPhone Application」を参照してください。
iOSデバイス上でVoiceOverを使用してテストする。
詳細は、iOS Developer Libraryにある『Accessibility Programming Guide for iOS』の「Using VoiceOver to Test Your Application」を参照してください。
Oracle Enterprise Pack for Eclipseには、Javaプログラムをデバッグ・モードで実行し、標準のブレークポイントを使用してアプリケーションの実行をモニターおよび制御することを可能にするデバッグ・メカニズムが備わっています。
一般にアプリケーションをデバッグするのに、Javaリモート・デバッグとJavaScriptリモート・デバッグという2つの異なる方法があります。Javaリモート・デバッグのみが完全にサポートされています。
MAFアプリケーションはOracle Enterprise Pack for Eclipse内では実行できないため、デバッグ・アプリケーションは異なり、Oracle Enterprise Pack for Eclipseデバッガを使用して、モバイル・デバイスまたはシミュレータ上のJava仮想マシン(JVM) 1.4インスタンスに接続し、MAFアプリケーションをデプロイしたJava部分を制御します。
MAFは、リモート・デバッグのプロジェクト・プロパティを自動的に構成します(第22.3.1項「デバッグ構成に関する必知事項」を参照)。次は、Oracle Enterprise Pack for Eclipseを使用してMAFアプリケーションのJavaコードをデバッグするために実行する必要のある手順です。
デバッグ構成で、「デバッグ」タブをクリックし、Javaコードのデバッグを選択します。これにより、次のデバッグ・パラメータがcvm.properties
ファイルに設定されます。
java.debug.enabled=true
詳細は、第22.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照してください。
アプリケーションをモバイル・デバイスまたはシミュレータに再デプロイします。
アプリケーション・アイコンをクリックして、モバイル・デバイスまたはシミュレータでアプリケーションを起動します。
リモートJavaアプリケーション構成を使用してリモートVMに接続します。
新しいリモートJavaアプリケーション構成を作成します。「実行」→「デバッグ構成」をクリックします。構成ウィンドウで、リモートJavaアプリケーションをダブルクリックします。
構成に名前を付け、デバッグしているアプリケーションのプロジェクトを参照します。
注意: タイムアウトを回避するには、モバイル・デバイスまたはシミュレータでアプリケーションを起動したらすぐにデバッガを起動します。 デプロイメントが成功し、デバイス上のアプリケーションがデバッグ・モードで起動した場合、リモート・デバッグが接続されるまでブロックされます。タイムアウトは通常数分です。 |
デバッグにモバイル・デバイスを使用する場合、次のタスクを実行します。
Androidの場合
ポート転送が確立されていることを確認します。
iOSの場合
開発コンピュータとモバイル・デバイスがTCPを介して相互に見えていることを確認します(互いにpingを実行できます)。
モバイル・デバイスのIPアドレスを持ったlocalhostを置き換えることで、リモートJavaアプリケーション構成の「ホスト」フィールドを変更します。
詳細は、次を参照してください:
アプリケーションを作成した後で、次のようにして、デプロイメント構成およびリモート・デバッグ構成を作成する必要があります。
Oracle Enterprise Pack for Eclipseのメイン・メニューで、「実行」→「デバッグ構成」をクリックして、起動構成ダイアログを開きます。
構成タイプのリストで、MAFアプリケーション・ノードをダブルクリックします。
新しいMAFデバッグ構成に名前を付け、「メイン」タブでアプリケーションのアセンブリ・プロジェクトを選択します。
図22-1に示すように、「デバッグ」タブでJavaコードのデバッグを選択し、ポートを適切なポート番号に設定します。
「適用」をクリックして構成の設定を保存します。
構成タイプのリストで、リモートJavaアプリケーション・ノードをダブルクリックします。「接続」タブは、図22-2のようになります。
デバッグするプロジェクトを参照します。
次のようにホストを設定します。
シミュレータまたはエミュレータによるデバッグの場合、localhostに設定します。
Androidでのリモート・デバッグの場合、Android Debug Bridge (adb)が動作しているコンピュータのホストIPに設定します(通常はlocalhost
)。adbはポート転送が有効になっている必要があり、使用するリモート・デバッグ・ポートは転送先と同じポートです。コマンドadb forward --list
を使用して転送先のすべてのポートを表示します。
iOSでのリモート・デバッグの場合、開発コンピュータがネットワークを介してそのデバイスにアクセスできることを確認し(ネットワーク・アクセスをテストするには、ping
コマンドを使用します)、デバイスのIPアドレスを入力します。
次のようにポートを設定します。
シミュレータまたはエミュレータによるデバッグの場合、ポートはデバッグ構成時と同じポート番号に設定します。
Androidでのリモート・デバッグの場合、adb (Android Debug Bridge)ではポート転送が有効になっている必要があります。ポートは転送先と同じポートに設定します。コマンドadb forward --list
を使用して転送先のすべてのポートを表示します。
iOSでのリモート・デバッグの場合、ポートはデバッグ構成時と同じポート番号に設定します。
MAFでは、cvm.properties
ファイルに次のデバッグ・パラメータを指定します。
java.debug.port=8000
このポート番号は、Oracle Enterprise Pack for Eclipseで設定されているポート番号と一致します。
Oracle Enterprise Pack for Eclipseを使用してiOSプラットフォームでMAFアプリケーションをデバッグするには、第22.3項「MAFアプリケーションのデバッグ」で説明されている汎用的なデバッグ手順を実行します。
iOSデバイスまたはシミュレータの構成方法、およびデバッグのためのMAFアプリケーションのデプロイ方法については、次を参照してください。
Oracle Enterprise Pack for Eclipseを使用してAndroidプラットフォームでMAFアプリケーションをデバッグするには、第22.3項「MAFアプリケーションのデバッグ」で説明されている汎用的なデバッグ手順を実行します。
Androidデバイスまたはエミュレータの構成方法、およびデバッグのためのMAFアプリケーションのデプロイ方法については、第19.2.5.1項「AndroidエミューレータへのAndroidアプリケーションのデプロイ方法」を参照してください。
Androidデバイスまたはそのエミュレータで動作しているMAFアプリケーションのデバッグを可能にするために、デバッグ時にネットワーキングおよびインターネット・アクセスは自動的に有効になります。図22-3に示すように、ネットワーク・デバイス・アクセス・オプションはmaf-application.xml
ファイルで有効です。
Javaコードをデバッグすると、USBを介して接続されたAndroidデバイスまたはAndroidデバイス・エミュレータで、デプロイメントの最終手順は自動的にポート転送を実行します。これは、ターミナルで次のコマンドを実行した場合と同じです。
デバイスでのデバッグの場合:
adb -d forward tcp:
8000
tcp:
8000
エミュレータでのデバッグの場合:
adb -e forward tcp:
8000 tcp:8000
ときにはadbプロセスはフリーズすることがあるため、プロセスを強制終了して再起動する必要があります。
プロセスを強制終了するには、次の手順を実行します。
Windows: プロセス マネージャを使用します
Macターミナル: kill -9
procID
コマンドを使用します。
ターミナルで次のコマンドを実行して、adbデーモンを再起動します。
adb devices
adbのフリーズの前に成功したデプロイメントは引き続きデプロイされます。アプリケーションをデバッグするには、アプリケーションを再デプロイします。
起動構成の「デバッグ」タブにあるJavaコードのデバッグは、cvm.properties
ファイルのjava.debug.*
プロパティを制御します。Javaコードのデバッグを選択すると、次のものが設定されます。
java.debug.enabled=true
デフォルトのポート番号を変更すると、次のものが設定されます。
java.debug.port=nnnn
詳細は、第22.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照してください。
注意: 接続がWi-Fiを介して行われる場合は、この接続が正しいことを確認してください。デバッガとターゲットの両方を、仮想プライベート・ネットワーク(VPN)を使用せずに、同じネットワーク上に配置することをお薦めします。 |
MAFアプリケーションにMAF AMXコンテンツが含まれている場合、デバイスまたはエミュレータを構成した後で、Oracle Enterprise Pack for Eclipseでその他のアプリケーションをデバッグするときに行うのと同様、ブレークポイントの設定、変数の内容の表示およびメソッド・コール・スタックの検査ができます。
注意: デバッグできるのは、JavaコードおよびJavaScriptのみです(第22.3.5項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照)。EL式または他の宣言要素のデバッグはサポートされていません。 |
cvm.properties
ファイルでは、JVMの起動パラメータおよびMAFのWebビューを指定して、JavaコードおよびJavaScriptのデバッグを有効にできます。cvm.properties
ファイルは自動的に作成され、「アプリケーション・リソース」のDescriptors/META-INF
ディレクトリ内に配置され(第22.4項「ロギングの使用方法と構成」を参照)、この場所は、アプリケーション・ファイル・システム内の<application_name>
/META-INF
の場所に対応しています。
cvm.properties
ファイルで次のデバッグ・プロパティを使用できます。
java.debug.enabled
: MAF用のJavaデバッグを有効または無効にします。有効な値は、true
とfalse
です。
注意:
|
java.debug.port
: デバッグ時に使用するポートを指定します。有効値は整数です。
javascript.debug.enabled
: アプリケーションがデバイス・シミュレータで実行されている場合、JavaScriptのデバッグを有効または無効にします。有効な値は、true
とfalse
です。
javascript.debug.feature
: MAFでのJavaScriptデバッグの起動をトリガーするアプリケーション機能を指定します。この値の形式はfeatureId:port
です。ポートを指定する必要があります(これは当初、プレースホルダ値に設定されています)。
注意:
iOSとSafariの両方のバージョンが6.0以降の場合、これらの2つのプロパティはいずれも指定する必要はありません。かわりに、第22.3.5.1項「iOS 6プラットフォーム上でのiOSデバイス・シミュレータを使用したJavaScriptのデバッグに関する必知事項」の指示に従ってください。 |
cvm.properties
ファイルの内容は、次のようなものです。
java.debug.enabled=true java.debug.port=8000 javascript.debug.enabled=true javascript.debug.feature=products:8888
cvm.properties
ファイルがJavaScriptをデバッグするように構成されたら、次のURLに移動して、MAFでデバッグ可能なすべてのロード済ページのリストを確認できます。
http://localhost:9999
Oracle Enterprise Pack for Eclipseを使用してJavaコードをデバッグする方法の詳細は、第22.3項「MAFアプリケーションのデバッグ」を参照してください。
iOS 6プラットフォームで作業している場合、Safari 6ブラウザを使用してJavaScriptをデバッグできます。これを行うには、Safariの設定を開き、「Advanced」を選択した後、「Show Develop menu in menu bar」を選択して、ブラウザ内の「Develop」メニューを有効にします(図22-4を参照)。
「Develop」メニューが有効な場合、図22-5および図22-6に示すように、「iPhone Simulator」または「iPad Simulator」を選択し、デバッグするUIWebViewを選択します。「Develop」メニューにiPhone Simulatorオプションが表示されるか、iPad Simulatorオプションが表示されるかは、どちらのデバイス・シミュレータが起動しているかによって決まります。
アプリケーションのデプロイメント・プロファイルを使用して、MAFアプリケーションの実行モードをリリースまたはデバッグのいずれかに指定します。デバッグ・モードでのみ、JavaおよびJavaScriptコードを対話的にデバッグできます。デバッグ・モードでは、コンパイル時に特殊なデバッグ・ライブラリおよびシンボルを含めることが可能です。
図22-7は、AndroidまたはiOSのデバッグ・モード・オプションの設定方法を示しています。
詳細は、次を参照してください。
MAFアプリケーションの場合、サポートされるすべてのプラットフォームでロギングを有効にするには、JavaScript (第22.4.2項「JavaScriptのロギングの使用方法」を参照)および埋込みコード(第22.4.3項「埋込みロギングの使用方法」)で、単一ファイルへのログ出力を含む単一構成を使用します。このログ出力には、System.out.println
およびSystem.err.println
文によって生成された出力が含まれます。
デフォルトのMAFのロギング・プロセスは、次のとおりです。
アプリケーションの起動時、ロギングが開始されます。
アプリケーションの以前の実行で生成された既存のログ・ファイルが削除され、現在の実行の内容のみが使用可能になります。
アプリケーションをiOSデバイス・シミュレータ上で実行している場合、すべてのログ出力は通常、開発用コンピュータのApplication/Utilities
ディレクトリを通じてアクセスできるコンソールに送信されます。ただし、開発用コンピュータでMac OS 10.8.nを実行している場合、Javaロギング出力へのアクセスに使用できるファイルは、出力のリダイレクションに伴って生成された直後に、その名前と場所が通知されるファイルのみです。このファイルについてありえる場所の1つは、/Users/
<userid>
/Library/Application Support/iPhone Simulator/6.0/Applications/
<AppID>
/Documents/logs/application.log
です。
iOSデバイス上でアプリケーションを実行している場合、コンソール出力は、アプリケーションのDocuments/logs
ディレクトリにあるapplication.log
ファイルにリダイレクトされます。
Androidでは、出力は、アプリケーションと同じ名前のテキスト・ファイルにフォワードされます。出力ファイルの場所は/sdcard
です。この場所が存在していないか、読取り専用として構成されている場合、ログ出力は、アプリケーションの書込み可能データ・ディレクトリに再ルーティングされます。
logging.properties
ファイルは、自動的に作成され、アプリケーション・ファイル・システムの<asssembly project>
/META-INF
位置に配置されます(第22.4項「ロギングの使用方法および構成」を参照)。このファイルでは、すべてのロガーでcom.sun.util.logging.ConsoleHandler
およびSimpleFormatter
を使用することが定義され、ログ・レベルがSEVERE
に設定されます。このファイルを編集して、別のロギング動作を指定できます(第22.4.1項「プロパティ・ファイルを使用したロギングの構成方法」を参照)。
注意: MAFアプリケーションでは、 |
MAFのロガーは、次のとおりoracle.adfmf.util.Utility
クラスで宣言されます。
public static final String APP_LOGNAME = "oracle.adfmf.application"; public static final Logger ApplicationLogger = Logger.getLogger(APP_LOGNAME); public static final String FRAMEWORK_LOGNAME = "oracle.adfmf.framework"; public static final Logger FrameworkLogger = Logger.getLogger(FRAMEWORK_LOGNAME);
MAFアプリケーションで使用するロガーは、ApplicationLogger
です。
oracle.adfmf.util.logging.Trace
クラスのメソッドを使用することもできます。
詳細は、Oracle Fusion Middleware Oracle Mobile Application FrameworkのJava APIリファレンスを参照してください。
例22-1は、ロギングの構成で使用するlogging.properties
ファイルを示しています。
例22-1 logging.propertiesファイル
# default - all loggers to use the ConsoleHandler .handlers=com.sun.util.logging.ConsoleHandler # default - all loggers to use the SimpleFormatter .formatter=com.sun.util.logging.SimpleFormatter oracle.adfmf.util.logging.ConsoleHandler.formatter= oracle.adfmf.util.logging.PatternFormatter oracle.adfmf.util.logging.PatternFormatter.pattern= [%LEVEL%-%LOGGER%-%CLASS%-%METHOD%]%MESSAGE% #configure the framework logger to only use the adfmf ConsoleHandler oracle.adfmf.framework.useParentHandlers=false oracle.adfmf.framework.handlers=oracle.adfmf.util.logging.ConsoleHandler oracle.adfmf.framework.level=SEVERE #configure the application logger to only use the adfmf ConsoleHandler oracle.adfmf.application.useParentHandlers=false oracle.adfmf.application.handlers=oracle.adfmf.util.logging.ConsoleHandler oracle.adfmf.application.level=SEVERE
oracle.adfmf.util.logging.ConsoleHandler
は、カスタム・フォーマッタの受信者としての役割を果たします。
oracle.adfmf.util.logging.PatternFormatter
では、ログ・メッセージの出力を可能にする、次の高度なフォーマット・トークンが許可されています。
%LEVEL%
: ロギング・レベル。
%LOGGER%
: 出力が書き込まれるロガーの名前。
%CLASS%
: ログに記録されるクラス。
%METHOD%
: ログに記録されるメソッド。
%TIME%
: ロギング・メッセージが送信された時間。
%MESSAGE%
: 実際のメッセージ。
使用可能なロギング・レベルは、次のとおりです。
SEVERE
: 重大な障害を示すメッセージ・レベルです。
WARNING
: 潜在的な問題を示すメッセージ・レベルです。
INFO
: 情報メッセージのメッセージ・レベルです。
FINE
: トレース情報を提供するメッセージ・レベルです。
FINER
: このレベルは、かなり詳細なトレース・メッセージを示します。
FINEST
: このレベルは、非常に詳細なトレース・メッセージを示します。
注意: ロギング・レベルの詳細度を選択するときは、 |
デバイスでアプリケーションを動作させているときに、Oracle Enterprise Pack for Eclipseには、iOSコンソールと、各デバイス(エミュレータを含む)ごとにAndroid用の追加コンソールという2つのコンソールがあります。両方のタイプのコンソールは、Oracle Enterprise Pack for Eclipseコンソールへの出力をフィルタ処理できる2つの追加logging.properties
ファイル・プロパティを使用して、ロギングおよび標準出力をストリーム化できます。
oepe.console.filter.android=<some string> oepe.sonsole.filter.ios=<some string>
コンソールのメニュー・バーの選択したコンソールの表示ボタンを使用すると、あるコンソールから別のコンソールへ切り替えることができます。使用可能なコンソールを切り替えるには、をクリックします。あるいは、第22.4.1項「コンソールの選択」に示すように、ボタンの横の下向き矢印をクリックして、リストから選択します。
logging.properties
ファイルで定義されているロガーは、oracle.adfmf.util.Utility
クラスから取得されるロガーと一致します(第22.4項「ロギングの使用方法と構成」を参照)。ロギング・レベルも一致します。INFO
よりも詳細なロギング・レベルを使用する場合は、ConsoleHandler
のロギング・レベルを、例22-2に示されているものと同じレベルに変更する必要があります。
JavaScriptは、console.log
or.error/.warn/.info
に出力を書き込みます。この出力は、System.out
ユーティリティによってファイルにリダイレクトされます。
メッセージを指定することで、ログの出力をカスタマイズできます。次のJavaScriptコードでは、"Message from JavaScript"
出力が生成されます。
<script type="text/javascript" charset="utf-8"> function test_function() { console.log("Message from JavaScript"); } </script>
ロギング・ファイルに定義されているプロパティを利用するには、adf.mf.log
パッケージ、およびそれによって提供されるApplication
ロガーを使用する必要があります。
使用可能なロギング・レベルは、次のとおりです。
adf.mf.log.level.SEVERE
adf.mf.log.level.WARNING
adf.mf.log.level.INFO
adf.mf.log.level.CONFIG
adf.mf.log.level.FINE
adf.mf.log.level.FINER
adf.mf.log.level.FINEST
ロギングをトリガーするには、adf.mf.log.Application
ロガーのlogp
メソッドを使用し、そのメソッドのパラメータで次のものを指定します。
ロギング・レベル
文字列としての現在のクラス名
文字列としての現在のメソッド
文字列としてのメッセージ文字列
例22-3は、MAFアプリケーションでのlogp
メソッドの使用方法を示しています。
例22-3 ロギング・メソッドの使用方法
adf.mf.log.Application.logp(adf.mf.log.level.WARNING, "myClass", "myMethod", "My Message");
logp
メソッドを実行すると、次の出力が生成されます。
[WARNING - oracle.adfmf.application - myClass - myMethod] My Message
埋込みロギングでは、例22-4に示されているとおり、com.sun.util.logging.Logger
を使用します。EmbeddedClass
は、プロジェクトで定義されているJavaクラスを表しています。
例22-4 埋込みロギングの使用方法
import com.sun.util.logging.Level; import com.sun.util.logging.Logger; import oracle.adfmf.util.logging.*; ... Utility.ApplicationLogger.logp(Level.WARNING, EmbeddedClass.class.getName(), "onTestMessage", "embedded warning message 1"); Logger.getLogger(Utility.APP_LOGNAME).logp(Level.WARNING, this.getClass().getName(), "onTestMessage", "embedded warning message 2"); Logger.getLogger("oracle.adfmf.application").logp(Level.WARNING, this.getClass().getName(), "onTestMessage", "embedded warning message 3");
このコードによって生成される出力は、次のとおりです。
[WARNING - oracle.adfmf.application - EmbeddedClass - onTestMessage] embedded warning message 1 [WARNING - oracle.adfmf.application - EmbeddedClass - onTestMessage] embedded warning message 2 [WARNING - oracle.adfmf.application - EmbeddedClass - onTestMessage] embedded warning message 3
MAFプロジェクトの操作にXcodeを使用することは、Oracle Enterprise Pack for Eclipseを使用した次回のデプロイメント中に一部またはすべての変更を失う可能性があるため推奨されませんが、例外的な状況ではこれを使用できます。
始める前に:
アプリケーションをOracle Enterprise Pack for EclipseからiOSシミュレータにデプロイします。
生成されたプロジェクトを直接Xcodeで開く手順は次のとおりです。
workspace_directory
\deploy\
デプロイメント・プロファイル名
\temporary_xcode_project\
に移動します。
Oracle_ADFmc_Container_Template.xcodeproj
というXcodeプロジェクトを開きます。
開発コンピュータでMac OS 10.8.nを実行し、Xcodeを使用してMAFアプリケーションをデバッグしている場合、IDE内(Oracle Enterprise Pack for EclipseコンソールまたはXcodeコンソール上)にはJava出力を表示できません。この出力は、ファイルにリダイレクトされます(第22.4項「ロギングの使用方法と構成」を参照)。アプリケーションのスキーマに次の引数を追加すると、この動作を無効にし、iOSデバイスまたはそのシミュレータ上でデバッグを実行するときに、XcodeからJava、JavaScriptおよびObjective-Cのログ出力にリアルタイムでアクセスできるようになります。
-consoleRedirect=FALSE
次のAPIを使用すると、アプリケーション・ログ情報にアクセスできます。
oracle.adfmf.framework.api.PerfMon
oracle.adfmf.framework.api.LogEntry
oracle.adfmf.util.HOTS
詳細は、Oracle Fusion Middleware Oracle Mobile Application FrameworkのJava APIリファレンスを参照してください。