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

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

ज़्यादा समावेशी इकोसिस्टम के लिए, इस्तेमाल की जाने वाली और इस्तेमाल न की जाने वाली शब्दावली के उदाहरणों के लिए, Code with respect देखें

ऐप्लिकेशन

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

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

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

इससे जुड़ा: इरादा

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

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

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

मिलता-जुलता: intent, intent filter

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

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

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

इससे जुड़ी: गतिविधि

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

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

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

संबंधित: intent, broadcast receiver

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

इससे जुड़ी: गतिविधि

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

बनाएं

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

मिलता-जुलता लेख: Git रिपॉज़िटरी

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

मिलता-जुलता विषय: Android प्रोजेक्ट

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

प्लैटफ़ॉर्म

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