BCA / B.Tech 9 min read

What is AndroidManifest.xml in Hindi

AndroidManifest.xml क्या है?

`AndroidManifest.xml` फ़ाइल हर Android Application का एक बहुत ही महत्वपूर्ण हिस्सा है।

यह ऐप के लिए एक ब्लूप्रिंट या कंट्रोल फ़ाइल की तरह काम करती है, जो Android बिल्ड टूल्स, Android ऑपरेटिंग सिस्टम, और Google Play Store को ज़रूरी जानकारी देती है। इस फ़ाइल के बिना, Android सिस्टम ऐप को सही तरीके से नहीं चला सकता।


AndroidManifest.xml का मुख्य उद्देश्य:

  • App Components को Declare करना: यह App के सभी मुख्य हिस्सों, जैसे कि Activities, Services, Broadcast Receivers, और Content Providers को लिस्ट करता है।
  • Permissions को Define करना: यह बताता है कि App को सिस्टम के सुरक्षित हिस्सों या दूसरे Apps (जैसे Internet, Camera, Contacts) को इस्तेमाल करने के लिए कौन-कौन सी इजाज़त (permissions) चाहिए।
  • Hardware/Software Features बताना: यह बताता है कि App को चलाने के लिए कौन-से Hardware (जैसे Camera या GPS) या Software फीचर्स की ज़रूरत है।
  • App Metadata सेट करना: इसमें App का package name, version code, version name, icon, और label जैसी जानकारी होती है।

Manifest फ़ाइल के मुख्य Elements:

1. <manifest>: यह फ़ाइल का सबसे मुख्य (root) element है। इसमें `package` attribute होना ज़रूरी है, जो आपके Application की यूनिक पहचान होती है।

2. <application>: यह Application के बारे में बताता है। इसमें `android:icon` (ऐप का आइकन) और `android:label` (ऐप का नाम) जैसे attributes होते हैं।

3. <activity>: यह एक Activity (यूजर इंटरफेस वाली एक स्क्रीन) के बारे में बताता है। App में इस्तेमाल होने वाली हर Activity को यहाँ बताना ज़रूरी है।

4. <service>: यह एक Service के बारे में बताता है, जो Background में बिना UI के काम कर सकती है।

5. <receiver>: यह एक Broadcast Receiver के बारे में बताता है, जो सिस्टम-वाइड घोषणाओं (जैसे डिवाइस का Boot होना) पर प्रतिक्रिया देता है।

6. <provider>: यह एक Content Provider के बारे में बताता है, जो App के डेटा को मैनेज करता है।

7. <uses-permission>: यह एक ऐसी Permission का अनुरोध करता है जो App को सही ढंग से काम करने के लिए यूजर द्वारा दी जानी चाहिए। उदाहरण: `<uses-permission android:name="android.permission.INTERNET" />`

8. <uses-feature>: यह एक Hardware या Software फीचर के बारे में बताता है जिसका उपयोग Application करता है। उदाहरण: `<uses-feature android:name="android.hardware.camera" />`

9. <intent-filter>: यह बताता है कि कोई Activity, Service या Broadcast Receiver किस प्रकार के Intents पर प्रतिक्रिया दे सकता है।


एक साधारण AndroidManifest.xml का उदाहरण:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        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>