An android app for students to follow while learning in the 12 week bootcamp.
This app is organized into weekly learning modules:
An educational Android app demonstrating layout techniques and interactive UI development for Week 2 of a 12-week Android development bootcamp.
- XML Layout: Traditional Android layout using LinearLayout and XML resources
- Jetpack Compose Layout: Modern declarative UI showing the same content
-
Making Better Layouts - Interactive demos of:
- LinearLayout with weight system
- ConstraintLayout positioning
- Material Design components
-
Making Things Clickable - Hands-on examples of:
- Button click handlers
- State management
- Random number generation
- Interactive color changes
-
Build a Dice Game - Complete project featuring:
- Animated dice rolling
- Single and double dice modes
- Roll history tracking
- Lucky number detection
- Statistics display
Week 3 introduces working with collections and displaying data in lists - essential skills for any Android app.
- Simple Lists: Basic string lists with LazyColumn
- Data Classes: Person objects with custom card layouts
- Interactive Lists: Add/remove functionality with state management
- Lists: Sorting, filtering, and manipulation operations
- Sets: Union, intersection, and difference operations
- Maps: Key-value relationships with practical examples
- Real-World Data: Birthday processing with date calculations
- Scrollable Lists: Display birthdays with custom layouts
- Date Handling: Countdown calculations and birthday detection
- Add/Remove: Form input and list management
- Animations: Confetti effects and birthday celebrations
- Data Processing: Grouping by month, sorting, filtering
This app provides hands-on examples and interactive demos to help you learn:
Week 2 Skills:
- How to organize layouts effectively
- Making buttons respond to user interactions
- Building a complete app from scratch
Week 3 Skills:
- Working with Kotlin collections (Lists, Sets, Maps)
- Displaying data in scrollable lists
- Managing app state and user input
- Processing and manipulating data
- Creating engaging user experiences with animations
Each section builds on the previous one, so start with Week 2 and progress through to Week 3!
- Language: Kotlin
- UI Framework: Jetpack Compose + XML layouts
- Architecture: Activity-based navigation
- Design: Material Design 3
- Target SDK: 36
- Min SDK: 26
- Clone the repository
- Open in Android Studio
- Sync project with Gradle files
- Run on device or emulator
MainActivity → Weekly navigation hub
├── Week2Activity → Week 2 content
│ ├── AboutXmlActivity → XML layout example
│ ├── AboutComposeActivity → Compose layout example
│ ├── Hour1LayoutsActivity → Layout demonstrations
│ ├── Hour2FunctionsActivity → Interaction examples
│ └── Hour3DiceRollerActivity → Complete dice game project
└── Week3Activity → Week 3 content
├── RecyclerViewActivity → List fundamentals
├── CollectionsActivity → Data manipulation examples
└── BirthdayTrackerActivity → Complete app project
By exploring this app, students will understand:
- Modern Android UI development with Jetpack Compose
- Traditional XML layouts and when to use each approach
- Data classes and object-oriented programming in Kotlin
- Collection operations and functional programming concepts
- State management in Android applications
- Building complete, interactive applications