एंड्रॉइड ऐप विकास गाइड
Android Studio सेटअप
अपना पहला कंपोज़ प्रोजेक्ट बनाएँ
चलिए, सीधे काम पर लगते हैं। Android Studio (Ladybug वर्शन या नया) खोलें और एक नया प्रोजेक्ट बनाएँ। आपको कई टेम्पलेट दिखाई देंगे, लेकिन आधुनिक Android UI डेवलपमेंट के लिए, आपको 'Empty Activity' को चुनना है, जिसमें नीचे 'Compose' का लेबल लगा हो। पुराने XML-आधारित व्यू सिस्टम को अब हम पीछे छोड़ रहे हैं।
इस टेम्पलेट को चुनने से यह सुनिश्चित होता है कि आपका प्रोजेक्ट शुरू से ही Jetpack Compose का उपयोग करने के लिए सेट है। यह Android UI बनाने का आधुनिक, डिक्लेरेटिव तरीका है। एक बार जब आप अपने एप्लिकेशन का नाम और पैकेज का नाम सेट कर लेते हैं, तो Android Studio आपके लिए ज़रूरी फ़ाइलों और बेसिक "Hello, World!" कोड के साथ एक प्रोजेक्ट बना देगा।
ग्रेडल फ़ाइलों को समझें
हर Android प्रोजेक्ट में, Gradle बिल्ड सिस्टम है जो आपके कोड, रिसोर्सेज़ और लाइब्रेरी को एक चलने वाले ऐप (APK या AAB) में बदल देता है। हाल के वर्शन में, Gradle कॉन्फ़िगरेशन फ़ाइलें Groovy-आधारित .gradle से Kotlin-आधारित .gradle.kts में बदल गई हैं। यह बेहतर ऑटो-कम्प्लीट और कंपाइल-टाइम चेकिंग की सुविधा देता है।
आपके प्रोजेक्ट में मुख्य रूप से दो build.gradle.kts फ़ाइलें होंगी:
- प्रोजेक्ट-लेवल
build.gradle.kts: यह आपके पूरे प्रोजेक्ट पर लागू होने वाली कॉन्फ़िगरेशन को नियंत्रित करती है, जैसे कि प्लगइन्स के रिपॉजिटरी। - ऐप-लेवल
build.gradle.kts: यह आपके ऐप मॉड्यूल के लिए विशिष्ट सेटिंग्स को कॉन्फ़िगर करती है, जिसमें SDK वर्शन, ऐप ID और सबसे महत्वपूर्ण, निर्भरताएँ (dependencies) शामिल हैं।
निर्भरताओं को प्रबंधित करने का आधुनिक तरीका Gradle Version Catalogs का उपयोग करना है। यह libs.versions.toml नामक एक केंद्रीय फ़ाइल में आपकी सभी लाइब्रेरी और उनके वर्शन को परिभाषित करने की अनुमति देता है।
# libs.versions.toml
[versions]
activityCompose = "1.9.0"
composeBom = "2024.05.00"
kotlin = "1.9.23"
[libraries]
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
[plugins]
kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
इस सेटअप के साथ, आप अपनी build.gradle.kts फ़ाइल में इस तरह से निर्भरताएँ जोड़ते हैं, जो इसे बहुत साफ़ और व्यवस्थित बनाता है:
// app/build.gradle.kts
dependencies {
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
// ... अन्य कंपोज़ निर्भरताएँ
}
कंपोज़ और कोटलिन को कॉन्फ़िगर करें
Jetpack Compose और Kotlin Compiler के बीच एक मज़बूत संबंध है। कंपोज़ आपके डिक्लेरेटिव UI कोड को समझने और उसे एफिशिएंट बनाने के लिए एक विशेष Kotlin कंपाइलर प्लगइन का उपयोग करता है। इसका मतलब है कि आपको हमेशा यह सुनिश्चित करना होगा कि आपके Kotlin और Compose Compiler के वर्शन एक-दूसरे के अनुकूल हों।
सौभाग्य से, Compose BOM (Bill of Materials) इस प्रक्रिया को आसान बनाता है। BOM एक विशेष प्रकार की निर्भरता है जो सभी अलग-अलग Compose लाइब्रेरी (जैसे compose.ui, compose.material, compose.foundation) के संगत वर्शन को एक साथ बंडल करती है। जब आप BOM को platform() का उपयोग करके इम्पोर्ट करते हैं, तो आपको व्यक्तिगत कंपोज़ लाइब्रेरी के लिए वर्शन निर्दिष्ट करने की आवश्यकता नहीं होती है। यह आपके लिए वर्शन संगतता का ध्यान रखता है।
एक और उन्नत कॉन्फ़िगरेशन जो परफॉरमेंस को बेहतर बनाने में मदद करती है, वह है 'Strong Skipping Mode'। जब यह सक्षम होता है, तो कंपोज़ कंपाइलर उन कंपोज़ेबल फ़ंक्शन को फिर से रेंडर करने (recomposition) से छोड़ देता है जिनके सभी पैरामीटर स्थिर (stable) होते हैं और नहीं बदले हैं। यह अनावश्यक UI अपडेट को कम करता है, जिससे आपका ऐप स्मूथ चलता है।
आप इसे अपनी ऐप-लेवल build.gradle.kts फ़ाइल में जोड़ सकते हैं:
// app/build.gradle.kts
android {
//...
}
kotlin {
compilerOptions {
strongSkipping = true
}
}
अपना ऐप चलाएँ
अपना ऐप देखने के लिए आपके पास दो मुख्य विकल्प हैं: Android Emulator या एक वास्तविक भौतिक डिवाइस। एमुलेटर आपको Android Studio के भीतर विभिन्न डिवाइस कॉन्फ़िगरेशन (अलग-अलग स्क्रीन आकार, Android वर्शन) का अनुकरण करने की अनुमति देता है। आप इसे 'Device Manager' (Tools > Device Manager) से सेट कर सकते हैं।
एक भौतिक डिवाइस पर डीबग करने के लिए, आपको पहले अपने डिवाइस पर 'Developer options' को सक्षम करना होगा। यह आमतौर पर Settings > About phone में 'Build number' पर सात बार टैप करके किया जाता है। एक बार सक्षम होने के बाद, आप Developer options मेनू में 'USB debugging' को चालू कर सकते हैं।
फिर, अपने डिवाइस को USB के माध्यम से अपने कंप्यूटर से कनेक्ट करें। Android Studio डिवाइस का पता लगाएगा, और आप इसे सीधे उस पर चलाकर अपने ऐप का परीक्षण कर सकते हैं। यह वास्तविक दुनिया के प्रदर्शन और व्यवहार का परीक्षण करने का सबसे अच्छा तरीका है।
आधुनिक Android UI डेवलपमेंट के लिए Android Studio में एक नया प्रोजेक्ट बनाते समय आपको कौन सा टेम्पलेट चुनना चाहिए?
Gradle बिल्ड स्क्रिप्ट के लिए Kotlin-आधारित फ़ाइल एक्सटेंशन क्या है, जिसने पुराने Groovy-आधारित सिस्टम की जगह ले ली है?

