ऐप्लिकेशन कार्ड बनाना

AppCard बनाने के लिए, ऐप्लिकेशन को मेनिफ़ेस्ट में एक ऐसा प्रोवाइडर बनाना होगा जो AppCardContentProvider को बढ़ाता है. AppCardContentProvider, AppCard बनाने की प्रोसेस को आसान बनाने के लिए, बुनियादी जानकारी को अलग करता है.

मेनिफ़ेस्ट में एलान करना

AppCard बनाने के लिए, ऐप्लिकेशन को मेनिफ़ेस्ट में एक प्रोवाइडर बनाना होगा, ताकि AppCardContentProvider को बढ़ाया जा सके.

<provider android:name=".SimpleAppCardContentProvider"
            android:authorities="com.example.appcard.sample.media"
            android:permission="@string/host_permission"
            android:exported="true"
            android:enabled="true">
            <intent-filter>
                <action android:name="com.android.car.appcard.APP_CARD_PROVIDER" />
            </intent-filter>
</provider>

हर पैकेज के लिए, सिर्फ़ एक प्रोवाइडर को तय किया जा सकता है. साथ ही, इन प्रॉपर्टी का इस्तेमाल किया जा सकता है:

  • android:exported="true"
  • android:enabled="true"
  • android:permission="@string/host_permission"

    या,

    • android:readPermission="@string/host_permission"

      AND,

      android:writePermission="@string/host_permission"

  • @string/host_permission, AppCard लाइब्रेरी में मौजूद है. यह सिस्टम के Android API वर्शन के हिसाब से अनुमति तय करता है.

    स्ट्रिंग रिसॉर्स का इस्तेमाल सिर्फ़ तब किया जा सकता है, जब Gradle का इस्तेमाल करके ऐप्लिकेशन बनाया जा रहा हो. Soong का इस्तेमाल करते समय, स्ट्रिंग रिसॉर्स की वैल्यू के साथ स्ट्रिंग को साफ़ तौर पर बताएं. इसके लिए, सही रिसॉर्स क्वालिफ़ायर का इस्तेमाल करें.

  • (default) android:grantUriPermissions="false"

  • (default) android:forceUriPermissions="false"

    अनचाहे नतीजों से बचने के लिए, यह ज़रूरी है कि सेवा देने वाली कंपनी android:authorities में सिर्फ़ एक अथॉरिटी तय करे.

  • कार्रवाई पर आधारित इंटेंट फ़िल्टर का एलान करें, com.android.car.appcard.APP_CARD_PROVIDER

AppCardContentProvider को बढ़ाना

इस सेक्शन में, override और protected फ़ाइनल तरीकों के बारे में बताया गया है.

बदलाव करने के तरीके

val authority: String
इस तरीके का इस्तेमाल करके, android:authorities मेनिफ़ेस्ट प्रॉपर्टी में तय की गई अथॉरिटी को वापस पाएं.

fun onCreate(): Boolean
इस तरीके को super.onCreate() को कॉल करना होगा. इस तरीके का इस्तेमाल करके, ऐसी सुविधा सेट अप करें जिसकी वजह से AppCard का अनुरोध करने पर देरी हो सकती है.

val appCardIds: List
इस तरीके का इस्तेमाल करके, AppCard के उन आईडी की सूची पाएं जिनका इस्तेमाल किया जा सकता है. हमारा सुझाव है कि हर आईडी को वर्बोस बनाएं, क्योंकि इस स्ट्रिंग का इस्तेमाल गड़बड़ियों को लॉग करने के लिए किया जाता है.

fun onAppCardAdded(String, AppCardContext): AppCard
इस तरीके का इस्तेमाल तब किया जाता है, जब पहली बार AppCard दिखाया जाता है. यह AppCard और AppCardContext से जुड़ा आईडी उपलब्ध कराता है. साथ ही, यह भी बताता है कि AppCard कैसे दिखाया जाता है.

इस तरीके का इस्तेमाल करके, AppCards की सुविधा देने वाले किसी भी ऐप्लिकेशन के लिए ज़रूरी फ़ंक्शन सेट अप करें. इस फ़ंक्शन को कॉल करने के बाद, दिए गए आईडी से जुड़ा AppCard चालू माना जाता है.

fun onAppCardRemoved(String)
इस तरीके का इस्तेमाल तब किया जाता है, जब उपयोगकर्ता को AppCard के कोई भी बचे हुए इंस्टेंस नहीं दिखाए जाते. साथ ही, यह सभी को मैनेज करता है. इस फ़ंक्शन को कॉल करने पर, दिए गए आईडी से जुड़ा AppCard बंद
माना जाता है

fun onAppCardContextChanged(String, AppCardContext)
सिस्टम को जब यह अपडेट करना होता है कि AppCard कैसे दिखाया जाए, तब इस तरीके का इस्तेमाल किया जाता है. साथ ही, यह अपडेट किया गया AppCardContext भेजता है.

सुरक्षित फ़ाइनल तरीके

fun sendAppCardUpdate(AppCard)
चालू AppCard के लिए अपडेट को लाइन में लगाने के लिए, इस तरीके का इस्तेमाल करें.

fun sendAppCardComponentUpdate(String, Component)
चालू AppCard में किसी कॉम्पोनेंट के लिए अपडेट को कतार में लगाने के लिए, इस तरीके का इस्तेमाल करें. अगर दिए गए कॉम्पोनेंट को EnforceFastUpdateRate के साथ टैग किया गया है, तो अपडेट तुरंत भेज दिया जाता है.

अक्सर पूछे जाने वाले सवाल

लागू करने के उदाहरण कहां हैं?