ヘッダーをスキップ

Oracle® Mobile Application Framework Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.1.1.0.0 E64867-01 |
| 目次

前 | 次 |

# 21 ユーザー・プリファレンスの有効化

この章では、アプリケーションレベルとアプリケーション機能レベルの両方のユーザー・プリファレンス・ページを作成する方法について説明します。

この章の内容は次のとおりです。

- 第21.1項「モバイル・アプリケーションのユーザー・プリファレンス・ページの作成」

- 第21.2項「アプリケーション機能のユーザー・プリファレンス・ページの作成」

- 第21.3項「ユーザー・プリファレンス・ページ用に格納された値を取得するEL式の使用方法」

- 第21.4項「プラットフォームによる表示の差異」

## 21.1 モバイル・アプリケーションのユーザー・プリファレンス・ページの作成

プリファレンスによって、エンド・ユーザーが構成可能な設定を追加できます。`maf-application.xml`および`maf-feature.xml`の両方のファイル内で、`<adfmf:preferences>`要素を使用してユーザー・プリファレンス・ページを定義します。

例21-1に示すとおり、`<adfmf:preferenceGroup>`と呼ばれる`<adfmf:preferences>`の子要素とその子要素によってユーザー・プリファレンスを定義し、これには、テキスト文字列、ドロップダウン・メニューや、例21-1のケースのようにアプリケーション設定の追加オプションをユーザーに提示する子ページなど、様々な形でオプションを提示するページを作成します。

また、`<adfmf:preferences>`要素を使用して、各アプリケーション機能内でユーザーが管理するプリファレンスを作成します。

例21-1 <adfmf:preferences>要素を使用したアプリケーションレベルのプリファレンスの定義

    <?xml version="1.0" encoding="UTF-8" ?>
    <adfmf:application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       xmlns:adfmf="http://xmlns.oracle.com/adf/mf"
                       name="MobileApplication"
                       id="com.company.MobileApplication"
                       appControllerFolder="ApplicationController"
                       version="1"
                       vendor="oracle"
                       listener-class="application.LifeCycleListenerImpl">
      <adfmf:description>This app created by Mobile Application Framework</adfmf:description>
      <adfmf:featureReference id="PROD"/>
      <adfmf:featureReference id="HCM"/>
      <adfmf:featureReference id="Customers"/>
          <adfmf:preferences>
    <adfmf:preferenceGroup id="a" label="Prefs Group A">
            <adfmf:preferenceBoolean id="a1_sound" label="Sound Effects"/>
            <adfmf:preferenceNumber id="a2_retries" label="Retries" default="3"/>
            <adfmf:preferenceList id="a3_background" label="Background" default="3">
              <adfmf:preferenceValue name="None" value="0" id="pv4"/>
              <adfmf:preferenceValue name="Field" value="1" id="pv1"/>
              <adfmf:preferenceValue name="Galaxy" value="2" id="pv5"/>
              <adfmf:preferenceValue name="Mountain" value="3" id="pv6"/>
            </adfmf:preferenceList>
            <adfmf:preferenceText id="a4_name" label="Default Name"/>
            <adfmf:preferencePage id="aa" label="Prefs SubGroup AA">
              <adfmf:preferenceGroup id="aa_sec" label="Security">
                <adfmf:preferenceBoolean id="aa_sec_useSec" label="Use Security"/>
                <adfmf:preferenceNumber id="aa_sec_timeout" label="Timeout (secs)" default="120"/>
              </adfmf:preferenceGroup>
            </adfmf:preferencePage>
          </adfmf:preferenceGroup>
          <adfmf:preferenceGroup id="b" label="Prefs Group B">
            <adfmf:preferenceBoolean id="b_cloudSync" label="Cloud Sync"/>
            <adfmf:preferenceList id="b_dispUsage" label="Display Usage As" default="1">
              <adfmf:preferenceValue name="Percent" value="1" id="pv2"/>
              <adfmf:preferenceValue name="Minutes" value="2" id="pv3"/>
            </adfmf:preferenceList>
          </adfmf:preferenceGroup>
        </adfmf:preferences>
    </adfmf:application>

図21-1では、子ユーザー・プリファレンス・ページを開くことでそれに続くオプションを提供する方法の例を示しています。

図21-1 ユーザー・プリファレンス・ページ

プリファレンス・ページは`<adfmf:preferenceGroup>`要素内で定義され、次の子要素が存在します。

- `<adfmf:preferencePage>`: ユーザー・インタフェースに新しいページを指定します。

- `<adfmf:preferenceList>`: ユーザーに特定のオプション・セットを提供します。

  - `<adfmf:preferenceValue>`: リスト要素を定義する子要素です。

- `<adfmf:preferenceBoolean>`: ブール設定です。

- `<adfmf:preferenceText>`: テキスト・プリファレンス設定です。

これらの要素とその属性の詳細は、Oracle Fusion Middleware Oracle Mobile Application Frameworkのタグ・リファレンスを参照してください。

アプリケーションおよびアプリケーション機能レベルの両方のプリファレンス・ページを作成する例については、PrefDemoサンプル・アプリケーションを参照してください。このサンプル・アプリケーションは、開発コンピュータのJDeveloperインストール・ディレクトリ内で次の場所にある`PublicSamples.zip`ファイルに置かれています。

    jdev_install/jdeveloper/jdev/extensions/oracle.maf/Samples

PrefDemoアプリケーションは、アプリケーションレベルの設定ページと、MAF AMXとして実装されている3つのアプリケーション機能のプリファレンス・ページで構成されています。図21-2は、通常の設定ページから起動する、PrefDemoアプリケーションの設定ページを示しています。この図では、プリファレンス設定ページをiOSの設定アプリケーションから起動しています。

図21-2 PrefDemoアプリケーションの設定ページ

図21-3で「App」、「Feature1」(これが選択されています)および「Feature 2」と表示されているアプリケーション機能のプリファレンス・ページでは、MAF AMXブール・スイッチ、入力テキストおよび出力テキストの各コンポーネントから構築されたプリファレンス・ページの例が示されており、これらのコンポーネントは、EL (式言語)を使用してアプリケーション機能やその内部に構成されている様々な`<adfmf:preferences>`コンポーネントにアクセスします。詳細は、第21.3項「ユーザー・プリファレンス・ページ用に格納された値を取得するEL式の使用方法」を参照してください。

図21-3 PrefDemoアプリケーションに表示されたアプリケーション機能のプリファレンス・ページ

PrefDemoアプリケーションでは、ビュー・アクティビティとページ・リフレッシュが可能な制御フロー・ケースで構成される単一のバインド・タスク・フローによって、MAF AMXの各プリファレンス・ページが参照されます。

### 21.1.1 モバイル・アプリケーションレベルのプリファレンス・ページの作成方法

`maf-application.xml`概要エディタの「プリファレンス」ページ(図21-4を参照)では、`<adfmf:preferenceGroup>`内の子プリファレンス・ページ要素をネストすることでアプリケーションレベルのプリファレンス・ページ・セットを構築できます。このページでは、`<adfmf:preferenceGroup>`およびその子要素が同様に名付けられたオプション(「プリファレンス・ページ」、「プリファレンス・リスト」、「ブール型のプリファレンス」など)として示され、JDeveloperの「構造」ウィンドウと同様にこれらを階層(またはツリー)にアセンブルします。

図21-4 「プリファレンス・ページ」を使用したモバイル・アプリケーションレベルのプリファレンスの追加

`maf-application.xml`ファイルを正しく構成するには、図21-4に示す「プリファレンス」ページの「追加」ドロップダウン・リストを使用してユーザー・プリファレンス・ページを構築します。また、図21-5に示す「プリファレンス」パレットからコンポーネントをドラッグして、エディタ、「ソース」ウィンドウまたは「構造」ウィンドウのいずれかにドロップできる一方で、そのページのドロップダウン・リストには、選択されたプリファレンス要素に対して、適切な親、子または兄弟の関係を持つことができる要素のみが提示されます。たとえば、図21-4には、プリファレンス・グループ要素であるMobileApp内に挿入できるコンポーネントのみが示されています。また、このエディタでは、各プリファレンス要素に固有の属性に対して値を入力できます。

図21-5 「コンポーネント・パレット」内の「プリファレンス」

プリファレンス・ページを作成するには:

1. `maf-application.xml`概要エディタで「プリファレンス」をクリックします。

2. 「追加」をクリックして、親である`<adfmf:preferenceGroup>`要素を作成します。

3. 次の情報を「プリファレンス・グループの挿入」ダイアログ(図21-6を参照)に入力します。

   図21-6 親プリファレンス・グループ要素の定義

   - プリファレンス・グループ要素の一意の識別子を入力します。

   - ユーザー・インタフェースに表示される説明テキストを入力します。ユーザー・インタフェースにこのテキストを表示する方法の例は、図21-1の例を参照してください。

4. 「追加」をクリックし、「前に挿入」、「内部に挿入」、「後ろに挿入」の各オプションを使用してさらにプリファレンス・ページを定義し、XML文書が正しく構成されるようにします。

#### 21.1.1.1 新しいユーザー・プリファレンス・ページの作成方法

プリファレンス・ページ・コンポーネントでは新しいユーザー・インタフェース・ページを作成できます。「前に挿入」、「内部に挿入」、「後ろに挿入」の各オプションを使用してプリファレンス・ページを作成します。

始める前に

プリファレンス・グループ要素を作成する必要があります。

新しいユーザー・プリファレンス・ページを作成するには:

1. `maf-application.xml`概要エディタの「プリファレンス」ページで「プリファレンス・グループ」要素を選択します。この例では、プリファレンス・グループはMobileAppと呼ばれています。

2. 「追加」をクリックして「プリファレンス・グループの中に挿入」→「プリファレンス・ページ」を選択します(図21-7を参照)。

   図21-7 プリファレンス・ページ・コンポーネントの選択

3. 「プリファレンス・ページの挿入」ダイアログ(図21-8を参照)に次のプリファレンス・ページ属性を定義します。

   - プリファレンス・ページ要素の一意の識別子を入力します。

   - ユーザー・インタフェースに表示される説明テキストを入力します。

   図21-8 「プリファレンス・ページの挿入」ダイアログ

4. プリファレンス・ページを選択し、図21-9に示すとおり、「プリファレンス・ページの中に挿入」→「プリファレンス・グループ」と選択することで、子プリファレンス・グループ要素を挿入し、プリファレンス・ページの本体を作成します。子プリファレンス・グループの一意の識別子と表示名を定義すると、これにプリファレンス・リスト要素などの他の要素を移入できます(例21-2を参照)。

   図21-9 プリファレンス・グループのプリファレンス・ページへの追加

#### 21.1.1.2 プリファレンス・ページを追加する場合の処理

概要エディタでプリファレンス・ページとその子プリファレンス・グループ・コンポーネントを定義すると、JDeveloperでは、`例21-2`と同様の属性を使用して<adfmf:preferencePage>が生成されます。`<adfmf:preferencePage>`は、親`<adfmf:preferenceGroup>`要素内にネストされます。

例21-2 <adfmf:PreferencePage element>の追加

    <adfmf:preferences>
              <adfmf:preferenceGroup id="gen"
                                     label="MobileApp">
                         <adfmf:preferencePage id="application_version"
                                               label="Version">
                        <adfmf:preferenceGroup id="version_select"
                                               label="Select Your Version">
                             <adfmf:preferenceList id="edition"
                                                    label="Edition"
                                                    default="PERSONAL">
                                  adfmf:preferenceValue name="Enterprise"
                                                        id="pv2"/>
                                  <adfmf:preferenceValue name="Personal"
                                                         value="PERSONAL"
                                                         id="pv1"/>
                             </adfmf:preferenceList>
                        </adfmf:preferenceGroup>
                         </adfmf:preferencePage>
    </adfmf:preferences>

#### 21.1.1.3 ユーザー・プリファレンス・リストの作成方法

プリファレンス・リスト・コンポーネントを追加してオプションのリストを作成します。

始める前に

プリファレンス・リストまたは他のすべてのリストに関連するコンポーネントの親としてプリファレンス・グループを作成する必要があります。

ユーザー・プリファレンス・リストを作成するには:

1. 「プリファレンス・グループ」または「プリファレンス・ページ」を選択して、「追加」→「内部に挿入」→「プリファレンス・リスト」の順にクリックします。例21-2には、Select Your Versionという名前のプリファレンス・グループ・コンポーネントの子としてプリファレンス・リストを追加する例が示されています。

   図21-10 プリファレンス・リスト・コンポーネントのプリファレンス・グループへの追加

2. 「プリファレンス・リストの挿入」ダイアログ(図21-2を参照)を使用して次の属性を定義し、「OK」をクリックします。

   - 一意の識別子を入力します。

   - ユーザー・インタフェースに表示される説明テキストを入力します。

     図21-11 「プリファレンス・リストの挿入」ダイアログ

3. 「プリファレンス値」表(図21-12を参照)で「追加」をクリックし、アイテムのリストを定義します。プリファレンス値を選択してから「削除」をクリックすることで、この値を削除することもできます。プリファレンス値の表示順番を変更するには、プリファレンス値を選択してから上および下の矢印を使用します。

   ユーザーにデフォルト設定を提供するには、「デフォルト」を選択します。例21-2に示すように、`<adfmf:preferenceList>`要素内でデフォルト・ステータスは、`default="ENTERPIRSE"`と定義されています。

   ヒント: 「追加」をクリックする他、それらをドラッグして「構造」ウィンドウまたは「ソース」ウィンドウのいずれかにドロップしても、プリファレンス値コンポーネントを追加できます。

   図21-12 プリファレンス値の追加

#### 21.1.1.4 プリファレンス・リストを作成する場合の処理

プリファレンス・リスト・コンポーネントをプリファレンス・グループに追加し、一連のプリファレンス値を定義すると、`例21-2`に示すように、JDeveloperでは`<adfmf:preferenceList>`要素を使用して<adfmf:preferences>セクションが更新されます。

#### 21.1.1.5 ブール型のプリファレンス・リストの作成方法

たとえば、例21-1を参照してください。

始める前に

`<adfmf:preferenceBoolean>`要素は`<adfmf:preferenceGroup>`要素内にネストされる必要があるため、まずプリファレンス・グループ・コンポーネントを階層に挿入する必要があります。

ブール型のプリファレンス・リストを作成するには:

1. 図21-13のGPS設定など、プリファレンス・グループ要素を選択します。

   図21-13 ブール型プリファレンスのプリファレンス・グループへの追加

2. 「ブール型のプリファレンスの挿入」ダイアログ(図21-14を参照)を使用して次の属性を定義し、「OK」をクリックします。

   - 一意の識別子を入力します。

   - ユーザー・インタフェースに表示される説明テキストを入力します。

   図21-14 「ブール型のプリファレンスの挿入」ダイアログ

3. デフォルト値の`false`をそのまま使用するか、`true`を選択します。

#### 21.1.1.6 ブール型のプリファレンスを追加する場合の処理

ブール型のプリファレンスを追加してそのデフォルト値を指定した場合、`例21-3`に示すように、JDeveloperでは、`<adfmf:preferenceBoolean>`要素を使用して`maf-application.xml`ファイルの<adfmf:preferences>セクションが更新されます。

例21-3 <adfmf:preferenceBoolean>要素の追加

    <adfmf:preferencePage id="gps_tracking"
                          label="Your_GPS_Locations">
       <adfmf:preferenceGroup id="gps"
                              label="GPS Settings">
          <adfmf:preferenceBoolean id="track_gps"
                                   label="Automatically Track Location"
                                   default="true"/>
    </adfmf:preferencePage>

#### 21.1.1.7 テキストのプリファレンスの追加方法

図21-15に示すように、挿入オプションを使用して、ユーザーが情報を格納したりデフォルト・テキストを閲覧できるようにする「テキストのプリファレンス」というダイアログを作成します。図21-15は、「セキュリティ」という名前のプリファレンス・グループ内にテキストのプリファレンスを作成する例を示しています。

図21-15 「テキストのプリファレンス」の挿入

始める前に

プリファレンス・グループ要素を作成します。

テキストのプリファレンスを作成するには:

1. プリファレンス・グループ要素を選択します。

2. 「内部に挿入」→「テキストのプリファレンス」を選択します。

3. 「テキストのプリファレンスの挿入」ダイアログ(図21-16を参照)に次の情報を入力して、「OK」をクリックします。

   - 一意の識別子を入力します。

   - ユーザー・インタフェースに表示される説明テキストを入力します。

   図21-16 「テキストのプリファレンスの挿入」ダイアログ

4. テキストのプリファレンス・ダイアログに次を定義します。

   - デフォルトのテキスト値を入力します。

   - テキストのプリファレンスを非表示にするには、「機密」を選択します。

図21-17 テキストのプリファレンスの定義

#### 21.1.1.8 テキストのプリファレンスを定義する場合の処理

テキストのプリファレンスを追加してそのデフォルト値を指定すると、例21-4に示すように、JDeveloperでは、`<adfmf:preferenceText>`要素を使用して`maf-application.xml`ファイルの`<adfmf:preferences>`セクションが更新されます。

例21-4 <adfmf:preferenceText>要素の追加

       <adfmf:preferenceGroup id="security" label="Security">
          <adfmf:preferenceText id="serviceURL"
                                label="Security URL"
                                default="http://security.example.com/provider"/>
          <adfmf:preferenceText  id="username"
                                 label="User Name"/>
          <adfmf:preferenceText  id="password"
                                 label="Password"
                                 secret="true"/>
       </adfmf:preferenceGroup>

セキュリティURL、ユーザー名およびパスワードのプリファレンス設定を定義するプリファレンス・グループ要素は図21-18のように表示されます。

図21-18 テキストのプリファレンス

図21-18は、セキュリティURLがシードされた値、ユーザー名が入力値の`<adfmf:preferenceText>`要素を示しています。MAFのプリファレンスはiOS設定アプリケーションと統合されているため、パスワード入力テキストの`secret="true"`属性により、ユーザーの入力を黒丸で覆うiOSの表記規則に従うアプリケーションとなります。詳細は、iOS Developer Library (``http://developer.apple.com/library/ios/navigation/)で入手可能な`『Settings Application Schema Reference』のisSecure`テキスト・フィールド要素の説明および第21.4項「プラットフォームによる表示の差異」を参照してください。

### 21.1.2 アプリケーションレベルのプリファレンス・ページを作成する場合の処理

モバイル・アプリケーションをデプロイすると、アプリケーション全体のプリファレンス設定ページがiOSデバイスの設定アプリケーションなど、デバイスのグローバル設定アプリケーションに伝播されます。詳細は、付録D「デプロイメントでのプリファレンスの変換」を参照してください。

## 21.2 アプリケーション機能のユーザー・プリファレンス・ページの作成

第8章「MAFアプリケーション・コンテンツの再使用」で説明するように、アプリケーション機能をモバイル・アプリケーションと別個に配布するには、そのアプリケーション機能を含む機能アプリケーション・アーカイブ(FAR) `.jar`ファイルを、別のモバイル・アプリケーションに追加します。その後、このアプリケーション機能を、アプリケーションの`maf-application.xml`ファイル内で参照します。アプリケーション機能において、使用先のアプリケーション用に定義した全般的なプリファレンスだけでなく、特定のユーザー・プリファレンスのセットが必要になる場合は、`maf-feature.xml`の概要エディタの「プリファレンス」タブを使用して、該当するプリファレンスを定義できます(図21-19を参照)。第21.1項「モバイル・アプリケーションのユーザー・プリファレンス・ページの作成」の説明に従い、アプリケーション・レベルのプリファレンスを構築する方法で、アプリケーション機能のプリファレンスを構築します。`maf-feature.xml`ファイル内でプリファレンスを定義したら、次は第13.3項「UIコンポーネントの作成と使用方法」で説明したブール・スイッチ、入力および出力の各コンポーネントに埋め込むMAF AMXページを参照するアプリケーション機能を作成することによって実際のプリファレンス・ページを作成します。

図21-19 アプリケーション機能レベルのプリファレンスの設定

## 21.3 ユーザー・プリファレンス・ページ用に格納された値を取得するEL式の使用方法

アプリケーション機能レベルのプリファレンス・ページを作成する場合、例21-5の入力テキスト・コンポーネントなど、MAF AMXコンポーネントに対してEL式を追加します。

例21-5 MAF AMXコンポーネントでELを使用したプリファレンス値の参照

    <amx:inputText label="Number" id="it1" inputType="number"
                   value="#{preferenceScope.feature.Feature1.f1top.f1Number}"/>

例21-5に示すとおり、EL式では、`preferenceScope`オブジェクトを使用して、アプリケーションがアプリケーション機能レベルのプリファレンスにアクセスできるようにします。これらのEL式の書式は次のとおりです。

    preferenceScope.feature.feature-id.group-id.property-id

図21-20は、式ビルダーを使用したEL式の作成について説明しています。アプリケーション機能(`<adfmf:feature id="Feature1">`)のID、プリファレンス・グループ(`<adfmf:preferenceGroup id="f1top">`)のID、プリファレンス・プロパティ(`<adfmf:preferenceNumber id="f1Number">`)のIDなど、`maf-feature.xml`内の様々なコンポーネントに対して構成されるIDによってプリファレンス自体が指定されています。

EL式には、ゼロ個以上の`group-id`要素および`property-id`要素が含まれる可能性があります。

図21-20 プリファレンスに対するEL式の構築

### 21.3.1 preferenceScopeに関する必知事項

EL式には次の解決パターンがあります。

- JavaScriptレイヤーから、次のJavaScript関数を使用してEL値式を解決します。

      adf.mf.el.getValue(expression, success, failed)

  `adf.mf.el.getValue`の解決では、まずJS-ELパーサーとJavaScriptコンテキスト・キャッシュをローカルで使用して式の解決を試みます。式がローカルで解決できない場合は、その式を埋込みJavaレイヤーに評価用として渡し、そこでJava ELパーサーによって解決されます。これは、モデルの`getValue`メソッドに対する`GenericInvokeRequest`を使用して処理されます。

- Javaレイヤーで、次の手法を使用してEL値式を解決します。

      String val = AdfmfJavaUtilities.evaluateELExpression("#{preferenceScope.feature.f0.vendor}");

  `setValue`メソッドでは、次のように式を解決します。

      ValueExpression ve = AdfmfJavaUtilities.getValueExpression("#{preferenceScope.feature.f0.vendor}");
      ve.setValue(AdfmfJavaUtilities.getADFELContext(), value);

  EL式の評価には、`preferenceScope`オブジェクトの検索が含まれます。評価は左から右に行われ、各トークンは別個に解決されます。トークンが解決されると、これは次の(その右側の)トークンの解決に使用されます。

`preferenceScope`オブジェクトがない場合は、プリファレンスを公開できません。`preferenceScope`オブジェクトの詳細は、第14.3.5.3項「モバイル・アプリケーション・フレームワーク・オブジェクト・カテゴリについて」を参照してください。

### 21.3.2 iOSネイティブ・ビューでのプリファレンス値の読取り

MAFでは、ネイティブUI (`UIView`、`UIViewController`など)に提供されているAPIが統合され、iOSプラットフォームで一定の構成が可能です。

ネイティブUIを初期化すると、`ADFSession` オブジェクトのインスタンスが利用可能になります。その`getPreferences`メソッドを使用して、MAFに対し、`maf-application.xml`ファイルで定義されているアプリケーションで利用可能なプリファレンスのリストを提供するように命令できます。例21-6に示すとおり、このメソッドでは、プリファレンスに`id`、`value`および`label`を含めることができるプリファレンス・プロパティ・オブジェクトの`NSArray*`が戻されます。このAPIコールでは、エンド・ユーザーによって特定のプリファレンスの値が提供されたこと、またはプリファレンスのデフォルト値が戻されていることのいずれかを確認します。

例21-6 プリファレンスの取得

    //...
    -(id) initWithADFSession:(id<ADFSession>) providedSession
    {
       id me = [self init];
       session = providedSession;
       //...
       // Dump the preferences to the data display
       NSArray* prefsArray = [session getPreferences];
       NSString* prefs = [prefsArray JSONRepresentation];
       self.theData.text = [[NSString alloc ] initWithFormat:
            :@"%@\nUser Preferences = --> %@ <--", self.theData.text, prefs];
       //...
       return me;
    }

## 21.4 プラットフォームによる表示の差異

MAFのプリファレンス・ページでは、iOSおよびAndroidの両プラットフォームでネイティブのルック・アンド・フィールが維持されます。その結果、MAFのプリファレンス・ページの表示は2つのプラットフォームで異なります。表21-1に示すとおり、iOSプラットフォームではプリファレンスがインラインで表示されるため、そのシステムではダイアログ・ページを起動しません。いくつかの例外を除いて、Androidプラットフォームではこれらのコンポーネントがダイアログで表示されます。

表21-1 プラットフォームごとのプリファレンス・コンポーネントの比較

コンポーネント | iOS | iOSの表示例 | Android | Androidの表示例
--- | --- | --- | --- | ---
プリファレンス・グループ(カテゴリ選択) | iOSでは、その親プリファレンス・グループ内にプリファレンス要素が表示されます。 |  | Androidでは、その親プリファレンス・グループ内にプリファレンス要素が表示されます。 |
ブール型のプリファレンス・リスト | ブール型のプリファレンスは、onとoffなどのペアの値で表示されます。 |  | Androidでは、ブール型のプリファレンスをチェック・ボックスで表示します。 |
テキスト・プリファレンス | iOSはテキストをインラインで表示します。 |  | Androidは、入力フィールド内にデフォルト・テキストを表示します。 |
テキストのプリファレンス(機密入力テキスト) | iOSプラットフォームでは、ユーザーはテキストをインラインで入力し、各文字はその入力後に黒丸で覆われます。詳細は、第21.1.1.8項「テキストのプリファレンスを定義する場合の処理」を参照してください。 |  | Androidでは、入力テキスト・ダイアログが起動し、各文字はその入力後に黒丸で覆われます。 |
単一のアイテム選択リスト(プリファレンス・リストから) | iOSプラットフォームでは別のプリファレンス・ページに単一のアイテム選択リストが表示されます。 |  | Androidでは、ダイアログ内に単一のアイテム選択リストが表示されます。 |
プリファレンス・ページ | iOSでは、プリファレンス・グループから子プリファレンス・ページを起動します。 |  | Androidでは、プリファレンス・グループから子プリファレンス・ページを起動します。 |

iOSおよびAndroidのプラットフォームには設定アプリケーションがありますが、図21-21のプリファレンスで示すように、設定アプリケーションへのアプリケーション・レベルのプリファレンスの統合はiOSプラットフォームのみでサポートされます。

図21-21 iOS設定アプリケーションでのOracleモバイル・プリファレンス

Androidデバイスでは、ユーザーは、アプリケーションが実行されている場合のみ、図21-22のようなアプリケーション固有のプリファレンス・ページにアクセスします。

図21-22 Androidデバイスのプリファレンス・メニュー