用語集とコンセプト

このセクションでは、この用語とコンセプトを使用します。

CarAppService
CarAppService は、抽象 Service クラスです。アプリがホストによって検出、管理されるためには、このクラスを実装し、エクスポートする必要があります。アプリの CarAppService は、createHostValidator を使用してホスト接続が信頼できることを検証し、次いで、onCreateSession を使用して接続ごとに Session インスタンスを提供します。
ホスト

ホストは、ライブラリの API によって提供される、アプリを車で実行するための機能を実装するバックエンド コンポーネントです。ホストは、アプリの検出とそのライフサイクルの管理、モデルのビューへの変換、ユーザー操作のアプリへの通知にいたるまで、幅広いサービスを提供します。

モバイル デバイスでは、このホストは Android Auto によって実装されます。Android Automotive OS では、このホストはシステムアプリとしてインストールされます。

モデルとテンプレート

ユーザー インターフェースは、モデル オブジェクトのグラフで表されます。モデル オブジェクトは、帰属するテンプレートで許可されているさまざまな方法で配置できます。テンプレートとは、グラフでルートとして機能するモデルのサブセットです。

モデルには、テキストや画像の形式でユーザーに表示される情報と、このような情報の見た目の各部分を構成する属性が含まれています。たとえば、テキストの色や画像のサイズなどです。

ホストは、モデルを、ドライバーの注意散漫に関する基準に則したデザインのビューに変換し、さまざまな車の画面の要素や入力モダリティなど、詳細な処理を行います。

Screen

Screen は、ライブラリによって提供されるクラスであり、アプリはこのクラスを実装して、ユーザーに表示されるインターフェースを管理します。

Screen にはライフサイクルがあり、画面の表示時に表示されるテンプレートをアプリが送信するために使用されます。また、Screen インスタンスを Screen スタックにプッシュ(push)し、ポップ(pop)して、テンプレート フローの制限事項を満たしていることを確認することもできます。

Session

Session は抽象クラスであり、アプリは CarAppService.onCreateSession を使用してこのクラスを実装し、結果を返す必要があります。Session は、車の画面に情報を表示するためのエントリ ポイントとして機能します。Session には、車の画面にアプリの現在の状態(アプリが表示されているか、非表示になっているかなど)を通知するライフサイクルがあります。

Session が開始されると(アプリの初回起動時など)、ホストは onCreateScreen メソッドを使用して、どの最初の Screen を表示するかを尋ねます。

テンプレートの制限事項

テンプレートに応じて、そのモデルのコンテンツに制限が課されます。たとえば、リスト テンプレートには、ユーザーに提示できるアイテムの数に制限があります。

テンプレートには、タスクのフローを形成するためにテンプレートを接続する方法に対しても制限があります。たとえば、アプリが画面スタックにプッシュできるテンプレートは最大 5 つです。詳細については、テンプレートの制限事項をご覧ください。