इस सेक्शन में, इन शब्दों और सिद्धांतों का इस्तेमाल किया गया है.
CarAppServiceCarAppServiceएक ऐब्स्ट्रैक्टServiceक्लास है. आपके ऐप्लिकेशन को इसे लागू करना होगा और एक्सपोर्ट करना होगा, ताकि होस्ट इसे ढूंढ सके और मैनेज कर सके. आपके ऐप्लिकेशन काCarAppService,createHostValidatorका इस्तेमाल करके यह पुष्टि करता है कि होस्ट कनेक्शन पर भरोसा किया जा सकता है. इसके बाद, यहonCreateSessionका इस्तेमाल करके, हर कनेक्शन के लिएSessionइंस्टेंस उपलब्ध कराता है.- होस्ट
होस्ट, बैकएंड कॉम्पोनेंट होता है. यह लाइब्रेरी के एपीआई की ओर से ऑफ़र की गई सुविधाओं को लागू करता है, ताकि आपका ऐप्लिकेशन कार में चल सके. होस्ट कई तरह की सेवाएं उपलब्ध कराता है. जैसे, आपके ऐप्लिकेशन को ढूंढना, उसकी लाइफ़साइकल को मैनेज करना, आपके मॉडल को व्यू में बदलना, और उपयोगकर्ता की गतिविधियों के बारे में आपके ऐप्लिकेशन को सूचना देना.
फ़ोन या टैबलेट पर, इस होस्ट को Android Auto लागू करता है. Android Automotive OS पर, इस होस्ट को सिस्टम ऐप्लिकेशन के तौर पर इंस्टॉल किया जाता है.
- मॉडल और टेंप्लेट
यूज़र इंटरफ़ेस (यूआई) को मॉडल ऑब्जेक्ट के ग्राफ़ के तौर पर दिखाया जाता है. इन्हें अलग-अलग तरीकों से एक साथ व्यवस्थित किया जा सकता है. यह इस बात पर निर्भर करता है कि वे किस टेंप्लेट से जुड़े हैं. टेंप्लेट, मॉडल का एक सबसेट होते हैं. ये ग्राफ़ में रूट के तौर पर काम करते हैं.
मॉडल में, लोगों को टेक्स्ट और इमेज के तौर पर दिखाई जाने वाली जानकारी शामिल होती है. साथ ही, इसमें ऐसे एट्रिब्यूट भी शामिल होते हैं जिनका इस्तेमाल करके, इस जानकारी के विज़ुअल कॉम्पोनेंट को कॉन्फ़िगर किया जा सकता है. उदाहरण के लिए, टेक्स्ट के रंग या इमेज के साइज़.
होस्ट, मॉडल को ऐसे व्यू में बदलता है जो ड्राइवर का ध्यान भटकने से रोकने के मानकों के मुताबिक हों. साथ ही, कार की स्क्रीन के अलग-अलग फ़ैक्टर और इनपुट मोडेलिटी जैसी जानकारी भी शामिल करता हो.
ScreenScreen, लाइब्रेरी की ओर से उपलब्ध कराई गई एक क्लास है. ऐप्लिकेशन इसका इस्तेमाल, उपयोगकर्ता को दिखने वाले यूज़र इंटरफ़ेस को मैनेज करने के लिए करते हैं.Screenका एक लाइफ़साइकल होता है. इसका इस्तेमाल ऐप्लिकेशन, स्क्रीन दिखने पर टेंप्लेट भेजने के लिए करता है.Screenइंस्टेंस कोScreenस्टैक में पुश और पॉप भी किया जा सकता है, ताकि यह पुष्टि की जा सके कि वे टेंप्लेट फ़्लो से जुड़ी पाबंदियों का पालन करते हैं.SessionSessionएक ऐब्स्ट्रैक्ट क्लास है. आपके ऐप्लिकेशन को इसे लागू करना होगा औरCarAppService.onCreateSessionका इस्तेमाल करके इसे वापस भेजना होगा.Session, कार की स्क्रीन पर जानकारी दिखाने के लिए एंट्री पॉइंट के तौर पर काम करता है.Sessionका लाइफ़साइकल होता है. इससे कार की स्क्रीन पर आपके ऐप्लिकेशन की मौजूदा स्थिति के बारे में पता चलता है. जैसे, आपका ऐप्लिकेशन कब दिखता है या कब छिपा होता है.जब कोई
Sessionशुरू होता है, जैसे कि ऐप्लिकेशन को पहली बार लॉन्च किया जाता है, तो होस्टonCreateScreenतरीके का इस्तेमाल करके यह पूछता है कि कौनसे शुरुआतीScreenदिखाने हैं.- टेंप्लेट से जुड़ी पाबंदियां
अलग-अलग टेंप्लेट, अपने मॉडल के कॉन्टेंट पर पाबंदियां लगाते हैं. उदाहरण के लिए, सूची के टेंप्लेट में, उपयोगकर्ता को दिखाए जा सकने वाले आइटम की संख्या पर सीमाएं लागू होती हैं.
टेंप्लेट को टास्क के फ़्लो से कनेक्ट करने के तरीके पर भी पाबंदियां होती हैं. उदाहरण के लिए, कोई ऐप्लिकेशन स्क्रीन स्टैक में ज़्यादा से ज़्यादा पांच टेंप्लेट पुश कर सकता है. ज़्यादा जानने के लिए, टेंप्लेट से जुड़ी पाबंदियां देखें.