前処理では、コンパイラにソースファイルのコードを解析させる前にコードを変更します。プリプロセッサは、コードにコードブロックとして挿入された プリプロセッサ指令 に従ってコードを変更します。プリプロセッサコードブロックは、ソースエディタでグラフィカルなマークが付けられ、特定のプロジェクト構成またはアビリティー用の JAR を構築したときに取り込まれるか、除外されます。これらのコードブロックを使用すると、1 つ以上の プロジェクト構成 または アビリティー に固有のコードを、作成、管理、および追跡できます。
たとえば、複数のデバイス向けのアプリケーションを 1 つ作成する場合、デバイスごとにプロジェクト構成を 1 つ作成し、プロジェクト構成ごとに異なる指令を含むプリプロセッサブロックを作成できます。有効なプロジェクト構成を変更してアプリケーションを実行することにより、デバイスごとに簡単にアプリケーションをテストできます。
次の例の If/Else
コードブロックでは、#if
、#else
、および #endif
指令を使用して、条件付きのタイムアウトアラームを作成しています。有効な構成が DefaultGrayPhone の場合、 ALERT_TIMEOUT
は 2000 に設定されます。有効な構成がこれ以外のプロジェクト構成に設定されると、 ALERT_TIMEOUT
は 3000 に設定されます。単純に、DefaultGrayPhone からほかのいずれかの構成に デフォルト構成を変更 するだけで、両方のタイムアウト時間についてアプリケーションをテストできます。