Android Studio and the Project Tree
You open Sprout for the first time and see dozens of folders. Knowing where things live is half of Android development. The good news: every Android project uses the same layout, so you learn it once.
The rule
Code in java, looks in res, the contract in the manifest.
Android Studio is the official IDE, built on IntelliJ IDEA. Besides the editor it gives you the SDK Manager (Android platform versions), the Device Manager (emulators), Logcat (the live log from a running app) and a debugger.
Inside the app module, three places matter most:
app/src/main/
├── java/com/example/sprout/ ← Kotlin and Java code
├── res/ ← resources: strings, images, colors, themes
└── AndroidManifest.xml ← what the app contains and needsjava/holds your source files, even Kotlin ones, in folders matching the package name.res/holds everything that is not code:values/strings.xmlfor text,drawable/for images,mipmap/for the launcher icon.AndroidManifest.xmltells the system what the app is: its activities, the permissions it asks for, its icon and name.
Resources get an ID the code can use, such as R.string.app_name, so text can be translated without touching code.
The shortcut
Ask "is it logic, looks, or a declaration to the system?"
Add a watering timer class
It is logic → a
.ktfile underjava/com/example/sprout/.
A common mistake is hard-coding user-facing text in code. It works, but it cannot be translated. Put it in strings.xml.
Drills
Answer fast — trust the rule.
Where does Sprout's Kotlin source code live?
Which file declares the activities an app contains?
Where should the text "Water me!" shown on a button go?
Which Android Studio tool shows messages printed by your running app?
Remember
- Code in
java, looks inres, the contract in the manifest. - Sort any change by asking: logic, looks, or declaration?
- Keep user-facing text in
strings.xml, never hard-coded.
