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.

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

गतिविधि
किसी ऐप्लिकेशन की एक स्क्रीन, जिसमें Java कोड का इस्तेमाल किया गया है. यह कोड, Activity क्लास से लिया गया है. आम तौर पर, ऐक्टिविटी को फ़ुल स्क्रीन विंडो के तौर पर दिखाया जाता है. यह विंडो, यूज़र इंटरफ़ेस (यूआई) इवेंट को मैनेज कर सकती है और मुश्किल टास्क पूरे कर सकती है. ऐसा इसलिए, क्योंकि यह विंडो अपनी विंडो को रेंडर करने के लिए इस्तेमाल की जाती है. आम तौर पर, कोई गतिविधि फ़ुल स्क्रीन पर दिखती है. हालांकि, यह फ़्लोटिंग या पारदर्शी भी हो सकती है.
ऐप्लिकेशन
कंपोनेंट के हिसाब से, 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 Debug Bridge, कमांड-लाइन डीबगिंग ऐप्लिकेशन है. यह एसडीके के साथ शामिल होता है. 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 branch - local
यह मौजूदा 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/android17-release/default.xml पर उपलब्ध है. ऐप्लिकेशन की जानकारी के लिए, ऐप्लिकेशन मेनिफ़ेस्ट की खास जानकारी देखें. साथ ही, प्लैटफ़ॉर्म डेवलपमेंट के लिए, repo मेनिफ़ेस्ट फ़ॉर्मैट देखें.
ओवर-द-एयर (ओटीए) अपडेट
फ़ील्ड में मौजूद Android डिवाइसों को सिस्टम, ऐप्लिकेशन सॉफ़्टवेयर, और टाइम ज़ोन के नियमों के ओवर-द-एयर (ओटीए) अपडेट मिल सकते हैं. साथ ही, उन्हें इंस्टॉल भी किया जा सकता है. ज़्यादा जानकारी के लिए, OTA अपडेट देखें.
Repo branch
Git रिपॉज़िटरी का एक कलेक्शन, जिसे मेनिफ़ेस्ट फ़ाइल में कैप्चर किया जाता है. यह Android कोडबेस के वर्शन (बिल्ड) को दिखाता है. जैसे, android11-gsi या aosp-android-games-sdk. इसे repo init और repo sync कमांड की मदद से डाउनलोड किया जाता है. सभी मेनिफ़ेस्ट फ़ाइलों के लिंक के लिए, मेनिफ़ेस्ट फ़ाइल का ब्यौरा देखें. साथ ही, उनकी बिल्ड खोजने के लिए Android Code Search का इस्तेमाल करें.
uprev
आम तौर पर, uprev कमांड की मदद से किसी बड़े प्रोजेक्ट के कॉम्पोनेंट सबप्रोजेक्ट को नए वर्शन में अपडेट किया जाता है. अपग्रेड करने पर, वर्शन लेवल को अगले इंक्रीमेंट किए गए वर्शन या उपलब्ध सबसे नए वर्शन पर सेट किया जाता है. एचआईडीएल पैकेज के मामले में, पैकेज-लेवल पर पुराने वर्शन के साथ काम करने वाले एक्सटेंशन को बनाए रखने के लिए, माइनर-वर्शन अपग्रेड, नए पैकेज को ज़्यादा माइनर वर्शन में अपडेट करता है. हालांकि, इसमें पुराने पैकेज का नाम और मेजर वर्शन वही रहता है. बूटलोडर कॉन्फ़िगरेशन के मामले में, अपरेव बूट हेडर वर्शन के साथ काम करने की सुविधा को नए वर्शन पर अपडेट करता है.

प्लैटफ़ॉर्म

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