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:// स्कीम का इस्तेमाल करने वाले यूआरआई को ब्राउज़र मैनेज करता है.

बनाएं

एडीबी
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 start branch-name . कमांड से शुरू होती है. इस सुविधा पर काम चल रहा है. किसी ब्रांच की हाल ही में की गई पुष्टि को उस ब्रांच की टिप कहा जाता है.
Git डेटा स्टोर करने की जगह
इसे कभी-कभी प्रोजेक्ट भी कहा जाता है. यह कोडबेस का एक हिस्सा होता है, जो किसी डिवाइस के किसी खास कॉम्पोनेंट या टाइप को दिखाता है. जैसे, frameworks/base या platform/packages/apps/Car/Media.

लेख का विषय: Android प्रोजेक्ट

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

प्लैटफ़ॉर्म

Android रनटाइम (ART) और Delvik
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 Executable (DEX) फ़ाइलों में संकलित किया जाता है. इसके बाद, इन फ़ाइलों को डिवाइस पर एक APK फ़ाइल में ज़िप किया जाता है. DEX फ़ाइलें, Java प्रोग्रामिंग भाषा में लिखे गए और इकट्ठा किए गए ऐप्लिकेशन का अपने-आप अनुवाद करके बनाई जा सकती हैं.