Android प्लैटफ़ॉर्म का शब्दकोष

Android Open Source Project (AOSP) की बुनियादी शब्दावली जानने के लिए, नीचे दी गई सूची देखें. यहां मुख्य शब्दों की परिभाषाओं के अन्य सोर्स दिए गए हैं:

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

ऐप्लिकेशन

APK (.apk) फ़ाइल
.apk एक्सटेंशन वाली Android ऐप्लिकेशन पैकेज फ़ाइल. हर Android ऐप्लिकेशन को एक फ़ाइल में संकलित और पैकेज किया जाता है. इसमें ऐप्लिकेशन का पूरा कोड (.dex एक्सटेंशन वाली DEX फ़ाइलें), संसाधन, एसेट, और मेनिफ़ेस्ट फ़ाइल शामिल होती है. ऐप्लिकेशन पैकेज फ़ाइल का कोई भी नाम हो सकता है, लेकिन इसमें .apk एक्सटेंशन का इस्तेमाल ज़रूर करना चाहिए. उदाहरण के लिए, myExampleAppname.apk. आसानी के लिए, ऐप्लिकेशन पैकेज फ़ाइल को अक्सर APK कहा जाता है.

मिलते-जुलते: ऐप्लिकेशन

ऐक्शन गेम
इंटेंट भेजने वाले व्यक्ति की इच्छा के बारे में जानकारी. ऐक्शन, किसी इंटेंट के लिए असाइन की गई स्ट्रिंग वैल्यू होती है. ऐक्शन स्ट्रिंग को Android या तीसरे पक्ष के डेवलपर से तय किया जा सकता है. उदाहरण के लिए, वेब यूआरएल के लिए android.intent.action.VIEW या फ़ोन को वाइब्रेट करने के लिए कस्टम ऐप्लिकेशन के लिए com.example.rumbler.SHAKE_PHONE.

इससे मिलते-जुलते विषय: इंटेंट

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

मिलते-जुलते विषय: APK (.apk) फ़ाइल, गतिविधि

ब्रॉडकास्ट रिसीवर
BroadcastReceiver क्लास पर आधारित एक ऑब्जेक्ट, जो किसी एक टारगेट ऐप्लिकेशन या गतिविधि को भेजे जाने के बजाय, ब्रॉडकास्ट किए गए इंटेंट को सुनता है. सिस्टम, दिलचस्पी रखने वाले सभी ब्रॉडकास्ट रिसीवर को ब्रॉडकास्ट इंटेंट डिलीवर करता है. ये इंटेंट को क्रम से मैनेज करते हैं.

मिलते-जुलते विषय: इंटेंट, इंटेंट फ़िल्टर

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

मिलते-जुलते विषय: Android में यूआरआई

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

इससे मिलते-जुलते विषय: गतिविधि

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

मिलते-जुलते विषय: इंटेंट फ़िल्टर, ब्रॉडकास्ट रिसीवर

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

इससे जुड़ी जानकारी: इंटेंट, ब्रॉडकास्ट रिसीवर

संसाधन खोजें
ऐसे नॉन-प्रोग्रामैटिक ऐप्लिकेशन कॉम्पोनेंट जो संकलित किए गए ऐप्लिकेशन कोड के बाहर के होते हैं. हालांकि, इन्हें किसी आम तौर पर इस्तेमाल होने वाले रेफ़रंस फ़ॉर्मैट का इस्तेमाल करके, ऐप्लिकेशन कोड से लोड किया जा सकता है. Android, कई तरह के रिसोर्स के साथ काम करता है. हालांकि, आम तौर पर किसी ऐप्लिकेशन के रिसोर्स में यूज़र इंटरफ़ेस (यूआई) की स्ट्रिंग, यूआई लेआउट कॉम्पोनेंट, ग्राफ़िक या अन्य मीडिया फ़ाइलें वगैरह शामिल होती हैं. ऐप्लिकेशन, स्थानीय भाषा के हिसाब से कॉन्टेंट दिखाने और अलग-अलग डिवाइस प्रोफ़ाइलों और स्थितियों के हिसाब से काम करने के लिए, संसाधनों का इस्तेमाल करता है. उदाहरण के लिए, किसी ऐप्लिकेशन में, काम करने वाले हर स्थानीय या डिवाइस टाइप के लिए रिसॉर्स का एक अलग सेट शामिल होगा. साथ ही, इसमें स्क्रीन के मौजूदा ओरिएंटेशन (लैंडस्केप या पोर्ट्रेट) के हिसाब से लेआउट रिसॉर्स शामिल हो सकते हैं. संसाधनों के बारे में ज़्यादा जानकारी के लिए, ऐप्लिकेशन के संसाधनों की खास जानकारी देखें. किसी ऐप्लिकेशन के संसाधन हमेशा प्रोजेक्ट के res/* सब-फ़ोल्डर में सेव किए जाते हैं.
सेवा
Service क्लास का एक ऑब्जेक्ट जो बैकग्राउंड में (बिना किसी यूज़र इंटरफ़ेस (यूआई) के) चलता है. यह संगीत चलाने या नेटवर्क गतिविधि की निगरानी करने जैसी कई लगातार होने वाली कार्रवाइयां करता है.

इससे मिलते-जुलते विषय: गतिविधि

Android में यूआरआई
Android, यूनिफ़ॉर्म रिसॉर्स आइडेंटिफ़ायर (यूआरआई) स्ट्रिंग का इस्तेमाल, कॉन्टेंट प्रोवाइडर में डेटा का अनुरोध करने के लिए करता है. जैसे, संपर्कों की सूची वापस लाना. साथ ही, इंटेंट में ऐक्शन का अनुरोध करने के लिए भी इसका इस्तेमाल किया जाता है. जैसे, ब्राउज़र में कोई वेब पेज खोलना. यूआरआई स्कीम और फ़ॉर्मैट, इस्तेमाल के तरीके के हिसाब से खास होते हैं. साथ ही, कोई ऐप्लिकेशन किसी भी पसंदीदा तरीके से यूआरआई स्कीम और स्ट्रिंग को हैंडल कर सकता है. कुछ यूआरआई स्कीम, सिस्टम कॉम्पोनेंट के लिए रिज़र्व हैं. उदाहरण के लिए, कॉन्टेंट उपलब्ध कराने वाली कंपनी से डेटा पाने के अनुरोधों में, content:// का इस्तेमाल करना ज़रूरी है. किसी इंटेंट में, http:// स्कीम का इस्तेमाल करने वाले यूआरआई को ब्राउज़र मैनेज करता है.

बनाएं

adb
Android डीबग ब्रिज, कमांड-लाइन डीबगिंग ऐप्लिकेशन है. यह SDK टूल के साथ आता है. adb, डिवाइस को ब्राउज़ करने, डिवाइस पर टूल कॉपी करने, और डीबग करने के लिए फ़ॉरवर्ड पोर्ट करने के टूल उपलब्ध कराता है. अगर Android Studio में डेवलप किया जा रहा है, तो adb आपके डेवलपमेंट एनवायरमेंट में इंटिग्रेट होता है. संक्षिप्त तौर पर इस्तेमाल हुए शब्द को सादे टेक्स्ट में, अंग्रेज़ी के छोटे अक्षरों में लिखा गया हो. खास तौर पर निर्देश के बारे में बताते समय, इसे adb के तौर पर लिखा जाता है. ज़्यादा जानकारी के लिए, पुष्टि करें कि आपके पास fastboot और adb है लेख पढ़ें.
Android प्रोजेक्ट
Android Gerrit होस्ट पर Git डेटा स्टोर करने की जगह. Git के काम करने के तरीके के बारे में ज़्यादा जानकारी के लिए, Git सोर्स एडिटर देखें.

इससे मिलते-जुलते विषय: Git डेटा स्टोर करने की जगह

बिल्ड फ़िंगरप्रिंट
यह एक यूनीक स्ट्रिंग होती है, जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. इसमें हर बिल्ड के लिए, मैन्युफ़ैक्चरर की जानकारी शामिल होती है. ज़्यादा जानकारी के लिए, ओटीए पैकेज बनाएं लेख पढ़ें.
Git branch - canonical
हर Git डेटा स्टोर करने की जगह के लिए अलग-अलग वर्शन, जैसे कि android-11.0.0_r1. इन्हें cs.android.com/android/platform/superproject/+/android-11.0.0_r1 पर देखा जा सकता है. ज़्यादा जानकारी के लिए, Git के ब्रैंच की सुविधा - ब्रैंच के बारे में खास जानकारी देखें.
Git branch - local
कोड में बदलाव करने के लिए, मौजूदा Repo क्लाइंट में बनाई गई एक अस्थायी शाखा. इसे repo start branch-name . निर्देश से शुरू किया जाता है. इस सुविधा पर काम चल रहा है. किसी ब्रांच पर किए गए सबसे हाल के कमिट को उस ब्रांच का टिप कहा जाता है.
Git डेटा स्टोर करने की जगह
इसे कभी-कभी प्रोजेक्ट भी कहा जाता है. यह कोडबेस का एक हिस्सा होता है, जो किसी डिवाइस के किसी खास कॉम्पोनेंट या टाइप को दिखाता है. जैसे, frameworks/base या platform/packages/apps/Car/Media.

इससे जुड़ी जानकारी: Android प्रोजेक्ट

मेनिफ़ेस्ट फ़ाइल
एक एक्सएमएल फ़ाइल, जिसमें हर ब्रांच के हिसाब से Git रिपॉज़िटरी की ग्रुपिंग के बारे में बताया गया है. साथ ही, उन रिपॉज़िटरी को चेक आउट करने के लिए, Git के उन बदलावों और फ़ाइल सिस्टम पर उनके लेआउट के बारे में बताया गया है. आम तौर पर, default.xml नाम वाली यह एक्सएमएल फ़ाइल, किसी रिपॉज़िटरी की शाखा से जुड़ी होती है. साथ ही, इसमें उन Git रिपॉज़िटरी और Git शाखाओं के बारे में जानकारी होती है जिन्हें रिपॉज़िटरी की शाखा को शुरू करने और सिंक करने के दौरान चेक आउट किया जाता है. इस फ़ाइल में, उन अलग-अलग Git डेटा स्टोर की जानकारी होती है जिन्हें Repo टूल को किसी प्रॉडक्ट (जैसे, Android Automotive OS) को बनाने के लिए, Repo क्लाइंट के चेकआउट में फ़ेच करना चाहिए. सभी मेनिफ़ेस्ट देखने के लिए, android.googlesource.com/platform/manifest/+refs पर जाएं. android.googlesource.com/platform/manifest/+/refs/heads/main/default.xml पर जाकर, Android प्लैटफ़ॉर्म (AOSP) की फ़ाइलों को खींचने के लिए, मेनिफ़ेस्ट फ़ाइलों में शामिल डिफ़ॉल्ट मेनिफ़ेस्ट देखें. ऐप्लिकेशन की जानकारी के लिए, ऐप्लिकेशन मेनिफ़ेस्ट की खास जानकारी देखें. साथ ही, प्लैटफ़ॉर्म डेवलपमेंट के लिए, रिपो मेनिफ़ेस्ट का फ़ॉर्मैट देखें.
ओवर-द-एयर (ओटीए) अपडेट
फ़ील्ड में मौजूद Android डिवाइसों को, सिस्टम, ऐप्लिकेशन सॉफ़्टवेयर, और टाइम ज़ोन के नियमों के लिए, ऑवर-द-एयर (ओटीए) अपडेट मिल सकते हैं और उन्हें इंस्टॉल किया जा सकता है. ज़्यादा जानकारी के लिए, ओटीए अपडेट देखें.
रिपॉज़िटरी की शाखा
मेनिफ़ेस्ट फ़ाइल में कैप्चर की गई Git रिपॉज़िटरी का कलेक्शन, जो Android कोडबेस के वर्शन (बिल्ड) को दिखाता है. जैसे, repo init और repo sync निर्देशों की मदद से डाउनलोड किए गए android11-gsi या aosp-android-games-sdk. सभी मेनिफ़ेस्ट फ़ाइलों के लिंक के लिए, मेनिफ़ेस्ट फ़ाइल की जानकारी देखें और उनके बिल्ड खोजने के लिए, Android Code Search का इस्तेमाल करें.
uprev
आम तौर पर, uprev किसी बड़े प्रोजेक्ट के कॉम्पोनेंट सब-प्रोजेक्ट को नए वर्शन पर अपडेट करता है. अपग्रेड करने पर, रिविज़न लेवल को अगले वर्शन या उपलब्ध सबसे नए वर्शन पर सेट कर दिया जाता है. HIDL पैकेज के मामले में, पैकेज-लेवल पर, पुराने वर्शन के साथ काम करने की सुविधा को बनाए रखने के लिए, माइनर वर्शन को अपडेट करने पर, नए पैकेज को माइनर वर्शन के ज़्यादा नए वर्शन में अपडेट कर दिया जाता है. हालांकि, पुराने पैकेज के नाम और मेजर वर्शन में कोई बदलाव नहीं किया जाता. बूटलोडर कॉन्फ़िगरेशन के मामले में, अपग्रेड करने पर बूट हेडर वर्शन के लिए, नए वर्शन का इस्तेमाल किया जाता है.

प्लैटफ़ॉर्म

Android रनटाइम (ART) और Dalvik
Android Runtime (ART), मैनेज किया जाने वाला रनटाइम है. इसका इस्तेमाल, Android पर ऐप्लिकेशन और कुछ सिस्टम सेवाओं के लिए किया जाता है. Android 5.0 (एपीआई लेवल 21) और उसके बाद के वर्शन पर चलने वाले डिवाइसों के लिए, ART डिफ़ॉल्ट रनटाइम होता है. ART और इससे पहले इस्तेमाल होने वाला Dalvik, मूल रूप से खास तौर पर Android Open Source Project के लिए बनाया गया था. रनटाइम के तौर पर ART, Dalvik के रन किए जा सकने वाले फ़ॉर्मैट और Dex बाइटकोड स्पेसिफ़िकेशन को लागू करता है. ART और Dalvik, Dex बाइटकोड को चलाने वाले रनटाइम के साथ काम करते हैं. इसलिए, Dalvik के लिए डेवलप किए गए ऐप्लिकेशन, ART के साथ काम करने चाहिए.
DEX (.dex) फ़ाइल
Android ऐप्लिकेशन की कोड फ़ाइल को कॉम्पाइल किया गया. Android प्रोग्राम को .dex एक्सटेंशन वाली, Dalvik एक्ज़ीक्यूटेबल (DEX) फ़ाइलों में कॉम्पाइल किया जाता है. इसके बाद, इन फ़ाइलों को डिवाइस पर एक APK फ़ाइल में ज़िप किया जाता है. DEX फ़ाइलें बनाने के लिए, Java प्रोग्रामिंग भाषा में लिखे गए ऐप्लिकेशन को अपने-आप अनुवाद किया जाता है.