Anatomy of Android Application in Hindi
RGPV University / DIPLOMA_CSE / MOBILE COMPUTING
Anatomy of Android Application in Hindi
Android ऐप्लिकेशन कई महत्वपूर्ण कंपोनेंट्स से मिलकर बनी होती है, जो इसे सही तरीके से काम करने में मदद करते हैं। हर ऐप में एक स्ट्रक्चर होता है, जिसमें मेनिफेस्ट फाइल, रिसोर्स फाइल्स, एप्लिकेशन फ्रेमवर्क और रनटाइम शामिल होते हैं। इन सभी कंपोनेंट्स को समझना बेहद जरूरी है, ताकि हम एक बेहतर और ऑप्टिमाइज़्ड Android ऐप बना सकें। इस गाइड में हम आपको Android ऐप के सभी मुख्य भागों के बारे में विस्तार से समझाएंगे। चलिए, बिना किसी देरी के, इसकी एनाटॉमी को डिटेल में समझते हैं!
Anatomy of Android Application in Hindi
जब भी हम एक Android Application बनाते हैं, तो वह सिर्फ एक स्क्रीन या कुछ कोड की फाइल्स नहीं होती। इसके अंदर कई अलग-अलग कंपोनेंट्स होते हैं, जो मिलकर इसे एक कंप्लीट एप्लिकेशन बनाते हैं। हर ऐप का एक स्ट्रक्चर होता है, जिसमें Manifest File, Resource Files, Application Framework, और Android Runtime जैसी चीजें शामिल होती हैं। अगर आप एक अच्छे Android Developer बनना चाहते हैं, तो आपको इन सभी चीजों की अच्छी समझ होनी चाहिए। चलिए, इसे एकदम आसान भाषा में समझते हैं और जानते हैं कि Android Application की एनाटॉमी कैसी होती है।
Android Application का मुख्य स्ट्रक्चर
किसी भी Android Application को चार मुख्य हिस्सों में बांटा जा सकता है, जो इस प्रकार हैं:
- Application Components: यह वे हिस्से होते हैं जो ऐप के अलग-अलग फंक्शन को कंट्रोल करते हैं, जैसे कि Activity, Service, Broadcast Receiver, और Content Provider ।
- Application Manifest: यह ऐप का Configuration File (AndroidManifest.xml) होता है, जो ऐप के सभी कंपोनेंट्स और उनकी परमिशन को डिफाइन करता है।
- Resource Files: यह वे फाइल्स होती हैं, जिनमें UI Elements, Strings, Colors, और Images जैसी चीजें स्टोर की जाती हैं।
- Android Runtime & Framework: यह वह सिस्टम होता है, जो आपके कोड को Android Device पर रन करवाने में मदद करता है।
1. Application Components
किसी भी Android Application में चार मुख्य कंपोनेंट्स होते हैं, जिनके बिना ऐप अधूरी होती है। यह सभी कंपोनेंट्स मिलकर ऐप के User Interface (UI), Background Processes, Data Storage, और Communication को मैनेज करते हैं। चलिए, इन चारों कंपोनेंट्स को विस्तार से समझते हैं।
📌 Activity (यूज़र इंटरफ़ेस से जुड़ा हिस्सा)
Activity वह कंपोनेंट होता है, जो आपके ऐप का User Interface (UI) दिखाता है। जब भी आप कोई ऐप ओपन करते हैं, तो जो स्क्रीन सबसे पहले दिखती है, वह एक Activity होती है। एक ऐप में एक से ज्यादा Activities हो सकती हैं, जो एक-दूसरे से जुड़ी होती हैं।
Example: WhatsApp में जब आप चैट खोलते हैं, तो वह एक Activity होती है। जब आप सेटिंग्स में जाते हैं, तो वह दूसरी Activity होती है।
📌 Service (Background Tasks के लिए)
Service वह कंपोनेंट है, जो Background में काम करता है , भले ही ऐप ओपन हो या न हो। अगर आपका ऐप कोई म्यूजिक प्ले कर रहा है या बैकग्राउंड में कोई डाटा अपलोड कर रहा है, तो यह Service के जरिए होता है। इसका कोई UI (User Interface) नहीं होता, लेकिन यह महत्वपूर्ण काम करता है।
Example: जब आप Spotify या YouTube Music में गाना सुन रहे होते हैं और ऐप बंद कर देते हैं, फिर भी म्यूजिक बजता रहता है। यह Service के कारण संभव होता है।
📌 Broadcast Receiver (सिस्टम से मैसेज रिसीव करने के लिए)
Broadcast Receiver का काम सिस्टम या अन्य ऐप्स से Broadcast Messages को रिसीव करना होता है। जब भी कोई इवेंट होता है, जैसे कि Battery Low, Internet Connection Change, या Incoming Call , तो यह उसे डिटेक्ट करता है। यह कंपोनेंट बैकग्राउंड में चलता है और यूज़र को ज़रूरी अलर्ट भेज सकता है।
Example: जब फोन की बैटरी लो होती है और आपको Battery Low Warning दिखाई देती है, तो यह एक Broadcast Receiver की मदद से होता है।
📌 Content Provider (Data Sharing के लिए)
Content Provider वह कंपोनेंट है, जो एक ऐप से दूसरे ऐप के बीच डेटा शेयर करने में मदद करता है। यह ऐप को Database, Files, और Shared Preferences से डेटा एक्सेस करने देता है, लेकिन Security और Privacy का पूरा ध्यान रखता है।
Example: जब आप किसी ऐप से Contacts को एक्सेस करने की परमिशन देते हैं, तो वह Content Provider के ज़रिए होता है।
2. Application Manifest
AndroidManifest.xml फाइल किसी भी Android Application की सबसे महत्वपूर्ण फाइल होती है। यह पूरी ऐप के Structure, Components, और Permissions को डिफाइन करती है। बिना इस फाइल के कोई भी Android Application सही से काम नहीं कर सकती।
इसमें ऐप के नाम, आइकॉन, Activities, Services, और Broadcast Receivers की जानकारी होती है। साथ ही, यह फाइल बताती है कि ऐप को Internet, Camera, Storage जैसी कौन-कौन सी परमिशन चाहिए।
📌 Example of AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest>
Components of Android Application in Hindi
जब भी हम Android Application की बात करते हैं, तो यह सिर्फ एक स्क्रीन या कोड की कुछ लाइनों का नाम नहीं है। असल में, यह कई छोटे-छोटे हिस्सों से मिलकर बनी होती है, जिन्हें Application Components कहा जाता है। हर Android App में कुछ मुख्य कंपोनेंट्स होते हैं, जो इसकी पूरी फंक्शनिंग को कंट्रोल करते हैं। अगर आपको एक Professional Android Developer बनना है, तो इन सभी कंपोनेंट्स की गहरी समझ होनी जरूरी है। तो चलिए, इसे एकदम आसान भाषा में समझते हैं और Android Application Components को डिटेल में जानते हैं।
📌 Android Application के मुख्य Components
किसी भी Android Application को चार मुख्य कंपोनेंट्स में बांटा जाता है। यह चारों कंपोनेंट्स मिलकर ऐप की User Interface, Background Processes, Data Storage, और Communication को मैनेज करते हैं। नीचे दिए गए चारों Android Components को ध्यान से समझें, क्योंकि ये Android Development में सबसे महत्वपूर्ण भूमिका निभाते हैं।
- Activity: यह ऐप का यूज़र इंटरफ़ेस (UI) कंट्रोल करता है।
- Service: यह ऐप के Background Tasks को मैनेज करता है।
- Broadcast Receiver: यह ऐप को सिस्टम और अन्य ऐप्स से आने वाले मैसेज रिसीव करने की अनुमति देता है।
- Content Provider: यह ऐप को Data Store और Share करने में मदद करता है।
1. Activity (यूज़र इंटरफ़ेस से जुड़ा हिस्सा)
Activity वह कंपोनेंट होता है, जो आपके ऐप का User Interface (UI) कंट्रोल करता है। जब आप कोई ऐप खोलते हैं, तो जो स्क्रीन सबसे पहले दिखाई देती है, वह एक Activity होती है। एक ऐप में एक से ज्यादा Activities हो सकती हैं, जो आपस में लिंक होती हैं।
Example: जब आप WhatsApp खोलते हैं, तो Chat List वाली स्क्रीन एक Activity होती है। जब आप किसी Contact पर क्लिक करते हैं, तो Chat Screen एक दूसरी Activity होती है।
📌 Android में Activity कैसे बनाई जाती है?
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
2. Service (Background Tasks के लिए)
Service वह कंपोनेंट है, जो Background में काम करता है , भले ही ऐप ओपन हो या न हो। अगर आपका ऐप कोई म्यूजिक प्ले कर रहा है या बैकग्राउंड में डेटा अपलोड कर रहा है, तो यह Service के जरिए होता है। इसका कोई UI (User Interface) नहीं होता, लेकिन यह ऐप के जरूरी फंक्शन्स को चलाता रहता है।
Example: जब आप Spotify या YouTube Music में गाना सुन रहे होते हैं और ऐप बंद कर देते हैं, फिर भी म्यूजिक बजता रहता है। यह Service की वजह से होता है।
📌 Android में Service कैसे बनाई जाती है?
public class MyService extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { // बैकग्राउंड में काम करने वाला कोड return START_STICKY; } @Override public IBinder onBind(Intent intent) { return null; } }
3. Broadcast Receiver (सिस्टम से मैसेज रिसीव करने के लिए)
Broadcast Receiver का काम सिस्टम या अन्य ऐप्स से Broadcast Messages को रिसीव करना होता है। जब भी कोई इवेंट होता है, जैसे कि Battery Low, Internet Connection Change, या Incoming Call , तो यह उसे डिटेक्ट करता है और ऐप को जरूरी जानकारी देता है।
Example: जब फोन की बैटरी लो होती है और आपको Battery Low Warning दिखाई देती है, तो यह एक Broadcast Receiver की मदद से होता है।
📌 Android में Broadcast Receiver कैसे बनाया जाता है?
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "Broadcast Received!", Toast.LENGTH_SHORT).show(); } }
4. Content Provider (Data Sharing के लिए)
Content Provider वह कंपोनेंट है, जो एक ऐप से दूसरे ऐप के बीच डेटा शेयर करने में मदद करता है। यह ऐप को Database, Files, और Shared Preferences से डेटा एक्सेस करने देता है, लेकिन Security और Privacy का पूरा ध्यान रखता है।
Example: जब आप किसी ऐप से Contacts को एक्सेस करने की परमिशन देते हैं, तो वह Content Provider के जरिए होता है।
Android में Content Provider कैसे बनाया जाता है?
public class MyContentProvider extends ContentProvider { @Override public boolean onCreate() { return true; } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { return null; } }
Application Manifest and Resource Files in Hindi
जब भी हम Android Application बनाते हैं, तो उसमें कई जरूरी फाइल्स होती हैं, जो ऐप के सही तरीके से काम करने के लिए बहुत महत्वपूर्ण होती हैं। इनमें सबसे अहम होती है AndroidManifest.xml फाइल, जो ऐप की Permissions, Components और System Requirements को परिभाषित करती है। इसके अलावा, ऐप में कई Resource Files होती हैं, जो ऐप के UI, Strings, Layouts, और Images को मैनेज करने का काम करती हैं। अगर आप Android Development सीख रहे हैं, तो आपको इन दोनों चीजों की अच्छी समझ होनी चाहिए। चलिए, इसे आसान भाषा में समझते हैं और Application Manifest और Resource Files के बारे में विस्तार से जानते हैं।
📌 AndroidManifest.xml क्या होता है?
AndroidManifest.xml एक XML फाइल होती है, जो Android Application की सबसे महत्वपूर्ण फाइलों में से एक है। यह फाइल सिस्टम को बताती है कि ऐप में कौन-कौन से Components (Activities, Services, Broadcast Receivers, और Content Providers) मौजूद हैं। इसके अलावा, यह ऐप द्वारा मांगी गई Permissions को भी डिफाइन करती है, जैसे कि Internet Access, Camera, GPS आदि । इस फाइल में यह भी बताया जाता है कि ऐप का Minimum SDK Level क्या होगा और ऐप को कौन से Hardware Features की जरूरत होगी।
📌 AndroidManifest.xml का एक Basic Structure
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
📌 AndroidManifest.xml में मुख्य Elements
- <manifest>: यह रूट टैग (Root Tag) होता है, जो पूरे Android Manifest File को परिभाषित करता है।
- <application>: यह ऐप से जुड़े सभी Components और Settings को परिभाषित करता है।
- <activity>: यह ऐप में मौजूद Activities को परिभाषित करता है।
- <service>: यह ऐप के Background Tasks को नियंत्रित करता है।
- <receiver>: यह Broadcast Receiver को परिभाषित करता है।
- <provider>: यह Content Provider को परिभाषित करता है।
- <uses-permission>: यह ऐप द्वारा मांगी गई Permissions को डिफाइन करता है, जैसे कि Internet, Camera, GPS आदि ।
📌 Resource Files क्या होती हैं?
Resource Files वे फाइलें होती हैं, जो Android Application में UI Elements, Strings, Layouts, Colors, और Drawables को स्टोर करने के लिए इस्तेमाल की जाती हैं। इन फाइलों को res (Resources) Folder के अंदर रखा जाता है, ताकि ऐप के अलग-अलग सेक्शन्स को आसानी से मैनेज किया जा सके। इससे कोड क्लीन और ऑर्गनाइज़ रहता है और ऐप को विभिन्न डिवाइसेस और स्क्रीन साइज़ पर आसानी से ऑप्टिमाइज़ किया जा सकता है।
📌 Android Resource Files के मुख्य प्रकार
- Drawable Resources: यह Images और Icons को स्टोर करने के लिए इस्तेमाल होती हैं।
- Layout Resources: यह ऐप के UI Layouts को डिफाइन करती हैं, जैसे कि activity_main.xml ।
- Values Resources: इसमें Strings, Colors, Dimensions और Styles को डिफाइन किया जाता है।
- Menu Resources: यह ऐप के Navigation Menus और Options Menus को डिफाइन करती हैं।
- Raw Resources: यह MP3, Videos, या अन्य Raw Files को स्टोर करने के लिए इस्तेमाल होती हैं।
📌 Resource Files का एक Basic Structure
res/ ├── drawable/ # Images और Icons ├── layout/ # XML Layout Files │ ├── activity_main.xml │ ├── fragment_dashboard.xml ├── values/ # Strings, Colors, और Styles │ ├── strings.xml │ ├── colors.xml │ ├── dimens.xml ├── menu/ # Navigation और Options Menu │ ├── main_menu.xml
📌 Resource Files को कैसे एक्सेस करें?
Resource Files को एक्सेस करने के लिए R (Resources) Class का इस्तेमाल किया जाता है। यह Android Framework द्वारा ऑटोमैटिकली जेनरेट की जाती है और res Folder के सभी एसेट्स को मैनेज करती है।
// Strings.xml से टेक्स्ट एक्सेस करना String appName = getResources().getString(R.string.app_name); // Colors.xml से कलर एक्सेस करना int primaryColor = getResources().getColor(R.color.primaryColor); // Drawable (Images) एक्सेस करना ImageView imageView = findViewById(R.id.imageView); imageView.setImageResource(R.drawable.my_image);
Android Runtime and Application Framework in Hindi
जब भी कोई Android Application चलती है, तो उसके पीछे एक मजबूत सिस्टम काम करता है, जिसे Android Runtime (ART) और Application Framework कहा जाता है। ये दोनों ही कंपोनेंट्स मिलकर यह तय करते हैं कि हमारा ऐप कैसे चलेगा, कौन-कौन से Resources इस्तेमाल होंगे और सिस्टम के साथ उसका इंटरेक्शन कैसे होगा। यदि आप Android Development सीख रहे हैं, तो इन दोनों चीजों की समझ आपके लिए बहुत जरूरी है। आज हम Android Runtime और Application Framework को सरल भाषा में समझेंगे, ताकि यह कॉन्सेप्ट आपके दिमाग में अच्छे से बैठ जाए।
📌 Android Runtime (ART) क्या होता है?
Android Runtime (ART) एक ऐसा सिस्टम है, जो Android Apps को रन करवाने का काम करता है। यह Dalvik Virtual Machine (DVM) का अपग्रेडेड वर्जन है, जिसे Android 5.0 (Lollipop) से डिफॉल्ट Runtime के रूप में इस्तेमाल किया जाने लगा। इसका मुख्य काम Java Bytecode को Native Machine Code में बदलना होता है, जिससे ऐप्स तेजी से चल सकें और कम बैटरी की खपत करें।
📌 ART और DVM में क्या अंतर है?
Feature | Dalvik Virtual Machine (DVM) | Android Runtime (ART) |
---|---|---|
Execution Model | Just-In-Time (JIT) Compilation | Ahead-Of-Time (AOT) Compilation |
Performance | Slow Execution | Fast Execution |
Battery Consumption | More Battery Usage | Less Battery Usage |
Storage Space | Less Storage Needed | More Storage Needed |
📌 Android Runtime (ART) कैसे काम करता है?
Android Runtime (ART) ऐप्स को रन करने के लिए Ahead-Of-Time (AOT) Compilation का उपयोग करता है। जब आप कोई ऐप इंस्टॉल करते हैं, तो यह पहले ही उसके Bytecode को Native Code में कन्वर्ट कर देता है। इससे ऐप को हर बार रन-टाइम पर कंपाइल करने की जरूरत नहीं पड़ती, जिससे Performance बेहतर होती है और ऐप तेज़ी से लोड होता है।
📌 Application Framework क्या होता है?
Application Framework एक Software Layer होती है, जो Developers को आसानी से ऐप बनाने और उसे ऑप्टिमाइज़ करने में मदद करती है। यह एक Pre-Defined Structure होता है, जिसमें कई तरह के Libraries और APIs शामिल होते हैं, जिससे ऐप का डेवलपमेंट तेज और आसान हो जाता है। Application Framework का मुख्य काम Android Apps और System Resources के बीच Interaction को मैनेज करना होता है।
📌 Application Framework के मुख्य Components
- Activity Manager: यह ऐप की Lifecycle और Navigation को कंट्रोल करता है।
- Content Providers: यह Apps के बीच Data Sharing को मैनेज करता है।
- Resource Manager: यह UI Resources (Images, Strings, Layouts) को हैंडल करता है।
- View System: यह ऐप के UI Components (Buttons, TextViews, etc.) को मैनेज करता है।
- Notification Manager: यह Notifications को हैंडल करने का काम करता है।
- Package Manager: यह Apps की Installation और Uninstallation को मैनेज करता है।
📌 Android Application Framework कैसे काम करता है?
जब आप कोई Android Application ओपन करते हैं, तो सबसे पहले Activity Manager उस ऐप की Main Activity को लोड करता है। इसके बाद, View System उस Activity का UI डिस्प्ले करता है और Event Listeners यूजर की इंटरैक्शन को प्रोसेस करते हैं। अगर ऐप को डेटा की जरूरत होती है, तो Content Provider उसे सही सोर्स से लाकर प्रोवाइड करता है। इसी तरह, बाकी Framework Components मिलकर ऐप को सुचारू रूप से चलाने में मदद करते हैं।
📌 Android Runtime और Application Framework का आपस में संबंध
Android Runtime (ART) और Application Framework दोनों ही Android OS के महत्वपूर्ण भाग हैं। जहां ART ऐप्स को रन करने का काम करता है, वहीं Application Framework यह तय करता है कि ऐप कैसे काम करेगा और उसे कैसे मैनेज किया जाएगा। ये दोनों मिलकर एक Smooth और Efficient Android Experience प्रदान करते हैं।