शब्दावली और कॉन्सेप्ट

इस सेक्शन में, इन शब्दों और सिद्धांतों का इस्तेमाल किया गया है.

CarAppService
CarAppService एक ऐब्स्ट्रैक्ट Service क्लास है. आपके ऐप्लिकेशन को इसे लागू करना होगा और एक्सपोर्ट करना होगा, ताकि होस्ट इसे ढूंढ सके और मैनेज कर सके. आपके ऐप्लिकेशन का CarAppService, createHostValidator का इस्तेमाल करके यह पुष्टि करता है कि होस्ट कनेक्शन पर भरोसा किया जा सकता है. इसके बाद, यह onCreateSession का इस्तेमाल करके, हर कनेक्शन के लिए Session इंस्टेंस उपलब्ध कराता है.
होस्ट

होस्ट, बैकएंड कॉम्पोनेंट होता है. यह लाइब्रेरी के एपीआई की ओर से ऑफ़र की गई सुविधाओं को लागू करता है, ताकि आपका ऐप्लिकेशन कार में चल सके. होस्ट कई तरह की सेवाएं उपलब्ध कराता है. जैसे, आपके ऐप्लिकेशन को ढूंढना, उसकी लाइफ़साइकल को मैनेज करना, आपके मॉडल को व्यू में बदलना, और उपयोगकर्ता की गतिविधियों के बारे में आपके ऐप्लिकेशन को सूचना देना.

फ़ोन या टैबलेट पर, इस होस्ट को Android Auto लागू करता है. Android Automotive OS पर, इस होस्ट को सिस्टम ऐप्लिकेशन के तौर पर इंस्टॉल किया जाता है.

मॉडल और टेंप्लेट

यूज़र इंटरफ़ेस (यूआई) को मॉडल ऑब्जेक्ट के ग्राफ़ के तौर पर दिखाया जाता है. इन्हें अलग-अलग तरीकों से एक साथ व्यवस्थित किया जा सकता है. यह इस बात पर निर्भर करता है कि वे किस टेंप्लेट से जुड़े हैं. टेंप्लेट, मॉडल का एक सबसेट होते हैं. ये ग्राफ़ में रूट के तौर पर काम करते हैं.

मॉडल में, लोगों को टेक्स्ट और इमेज के तौर पर दिखाई जाने वाली जानकारी शामिल होती है. साथ ही, इसमें ऐसे एट्रिब्यूट भी शामिल होते हैं जिनका इस्तेमाल करके, इस जानकारी के विज़ुअल कॉम्पोनेंट को कॉन्फ़िगर किया जा सकता है. उदाहरण के लिए, टेक्स्ट के रंग या इमेज के साइज़.

होस्ट, मॉडल को ऐसे व्यू में बदलता है जो ड्राइवर का ध्यान भटकने से रोकने के मानकों के मुताबिक हों. साथ ही, कार की स्क्रीन के अलग-अलग फ़ैक्टर और इनपुट मोडेलिटी जैसी जानकारी भी शामिल करता हो.

Screen

Screen, लाइब्रेरी की ओर से उपलब्ध कराई गई एक क्लास है. ऐप्लिकेशन इसका इस्तेमाल, उपयोगकर्ता को दिखने वाले यूज़र इंटरफ़ेस को मैनेज करने के लिए करते हैं.

Screen का एक लाइफ़साइकल होता है. इसका इस्तेमाल ऐप्लिकेशन, स्क्रीन दिखने पर टेंप्लेट भेजने के लिए करता है. Screen इंस्टेंस को Screen स्टैक में पुश और पॉप भी किया जा सकता है, ताकि यह पुष्टि की जा सके कि वे टेंप्लेट फ़्लो से जुड़ी पाबंदियों का पालन करते हैं.

Session

Session एक ऐब्स्ट्रैक्ट क्लास है. आपके ऐप्लिकेशन को इसे लागू करना होगा और CarAppService.onCreateSession का इस्तेमाल करके इसे वापस भेजना होगा. Session, कार की स्क्रीन पर जानकारी दिखाने के लिए एंट्री पॉइंट के तौर पर काम करता है. Session का लाइफ़साइकल होता है. इससे कार की स्क्रीन पर आपके ऐप्लिकेशन की मौजूदा स्थिति के बारे में पता चलता है. जैसे, आपका ऐप्लिकेशन कब दिखता है या कब छिपा होता है.

जब कोई Session शुरू होता है, जैसे कि ऐप्लिकेशन को पहली बार लॉन्च किया जाता है, तो होस्ट onCreateScreen तरीके का इस्तेमाल करके यह पूछता है कि कौनसे शुरुआती Screen दिखाने हैं.

टेंप्लेट से जुड़ी पाबंदियां

अलग-अलग टेंप्लेट, अपने मॉडल के कॉन्टेंट पर पाबंदियां लगाते हैं. उदाहरण के लिए, सूची के टेंप्लेट में, उपयोगकर्ता को दिखाए जा सकने वाले आइटम की संख्या पर सीमाएं लागू होती हैं.

टेंप्लेट को टास्क के फ़्लो से कनेक्ट करने के तरीके पर भी पाबंदियां होती हैं. उदाहरण के लिए, कोई ऐप्लिकेशन स्क्रीन स्टैक में ज़्यादा से ज़्यादा पांच टेंप्लेट पुश कर सकता है. ज़्यादा जानने के लिए, टेंप्लेट से जुड़ी पाबंदियां देखें.