Theory
कुछ नहीं से screen पर 'Welcome' तक
आप FestConnect Mobile को असली बनाने के लिए तैयार हैं। Android Studio में एक नया project एक file नहीं है, यह fixed roles वाली files का पूरा folder है, एक template से आपके लिए generate किया गया।
यह lesson दो काम करता है: project बनाने और इसे चलाने के कुछ clicks walk करता है, फिर Studio ने generate किए components का tour करता है, क्योंकि जानना हर folder किसके लिए है यही है कैसे आप अपना code जोड़ने की जगह ढूँढते हैं, और एक बहुत common exam question।
Theory
एक flat-pack house labelled आता है
एक project बनाना एक flat-pack house पाने जैसा है जिसमें हर part एक labelled box में हो: 'wiring plan' (manifest), 'room logic' (Java), 'room layouts' (res/layout), 'paint और text' (res/values), 'assembly instructions' (Gradle)। आप raw timber से शुरू नहीं करते; आपको एक काम करता shell मिलता है और फिर आप labelled parts customise करते हैं। Labels एक बार सीखिए और आप हमेशा जानते हैं कहाँ पहुँचना है।
Follow along
FestConnect Mobile बनाइए और चलाइए
- New Project File > New > New Project, Empty Views Activity template चुनिए।
- इसे configure कीजिए app name FestConnect, package com.college.festconnect, language Java, minimum SDK (जैसे API 24)।
- Gradle को build करने दीजिए Studio project generate करता है और Gradle dependencies download करके इसे compile करता है।
- एक message लिखिए TextView के android:text (या res/values/strings.xml में एक string) को 'Welcome to FestConnect' में edit कीजिए।
- Run दबाइए green play button app को build करता है और इसे आपके AVD पर install करता है, जहाँ message दिखता है।
At a glance
Generated components किसके लिए हैं
| Component | क्या रखता है |
|---|---|
| AndroidManifest.xml | app declaration, activities, permissions |
| java/ (आपका package) | Activity classes (behaviour) |
| res/layout/ | XML layouts (appearance) |
| res/values/ | strings, colors, themes |
| build.gradle | build config और dependencies |
Think first
Text कहाँ belong करता है?
आप चाहते हैं welcome message reusable और translatable हो, layout में hard-coded नहीं। कौन सा component असली text 'Welcome to FestConnect' रखना चाहिए, और layout इसे कैसे इस्तेमाल करती है?
Show the answer
Text को res/values/strings.xml में एक named string की तरह डालिए, जैसे <string name="welcome">Welcome to FestConnect</string>। Layout फिर इसे एक literal के बजाय android:text="@string/welcome" से reference करती है। यह text को एक जगह रखता है (बदलना आसान) और translation possible बनाता है (हर language के लिए एक अलग strings file)। Layout में text hard-code करना काम करता है पर discouraged है और अक्सर reviews में flag होता है।
Quiz
कौन सा tool actually आपके Android project को compile करता है और installable app assemble करता है?
- Gradle, वह build system जो Android Studio चलाता है
- AndroidManifest.xml, जो app build करता है
- AVD, जो code compile करता है
- res/values/strings.xml, जो classes link करता है
Show the answer
Gradle, वह build system जो Android Studio चलाता है
Gradle Android का build system है; Studio इसे invoke करता है आपकी Java compile करने, resources process करने, और APK package करने के लिए (A)। Manifest सिर्फ़ app के parts declare करता है, इन्हें build नहीं करता (B)। AVD वह virtual device है जो finished app चलाती है, compiler नहीं (C)। strings.xml सिर्फ़ text resources रखता है (D)। जब एक build fail होती है, यह आमतौर पर एक Gradle message है जो आप पढ़ते हैं।
Watch out
First-project traps
1. Layout में strings hard-code करना: user-facing text strings.xml में डालिए ताकि यह reusable और translatable हो।
2. Code कहाँ जाता है यह confuse करना: behaviour java/ में, appearance res/layout/ में, declarations manifest में। ग़लत file edit करना एक classic beginner loop है।
3. Gradle errors ignore करना: एक red build में लगभग हमेशा एक specific Gradle message होता है; बेतरतीब files बदलने के बजाय इसे पढ़िए।
Theory
अगला: manifest और R.java गहराई से
दो generated pieces अपना ख़ुद का lesson deserve करते हैं: AndroidManifest.xml, जो हर app को चाहिए ही होता है और जो हर Activity declare करता है, और R.java, वह auto-generated file जो आपके resource ids (@+id/title, @string/welcome) को उन R. references में बदलती है जो आपकी Java इस्तेमाल करती है। अगला lesson दोनों खोलता है।
Summary
Key takeaways
- New Project > Empty Views Activity से एक app बनाइए, नाम, package, language, और minimum SDK set करते हुए।
- Generated project में fixed components हैं: AndroidManifest.xml, java/ (Activities), res/layout/ (XML), res/values/ (strings/colors), और Gradle build files।
- Gradle वह build system है जो code compile करता है और installable app assemble करता है।
- Run (green play) दबाइए build करने और AVD पर deploy करने के लिए, जहाँ आपका message दिखता है।
- User-facing text strings.xml में रखिए, layout में hard-coded नहीं।
- Memory hook: हर part labelled वाला एक flat-pack house।