Criteria & Points Distribution
Score Description
0 No submission OR irrelevant output (not Android-related, no video, no APK).
10 Project created but no working features (only empty activity / fragments). No recording, no
uniform, no APK.
20 Basic layout/navigation only (BottomNavigation with fragments) but no functional buttons or UI
manipulation. Recording may be incomplete (no camera/narration). APK not uploaded.
30 Navigation + some UI elements visible (cards, subjects, profile), but functions don’t work (e.g.,
Add/Remove doesn’t update). APK missing or not working.
50
Partial implementation: at least one fragment fully working (e.g., Home cards + counter OR
Schedule toggle), but others incomplete. Recording submitted but missing uniform/narration.
APK generated but incomplete.
70
Most features working:
✔ Navigation across 3 fragments
✔ Add/Remove Cards + Counter
✔ Schedule toggle OR search validator
✔ Profile theme OR image switcher.
Recording present but with minor issues. APK included but has small bugs.
90
All features functional as specified:
✔ HomeFragment (dynamic cards + counter)
✔ ScheduleFragment (day/week toggle + search validator)
✔ ProfileFragment (theme switcher + image swap)
✔ Smooth navigation.
Recording complete with uniform + narration. APK working and installable.
95 Perfect submission:
✔ All required features bug-free
✔ UI updates dynamically (cards, themes, toggles)
✔ Clear narration while coding
✔ Recording shows student in Type A uniform, camera on, face visible
✔ Video uploaded to Google Drive with correct sharing
✔ APK file included in submission (uploaded with lab report/Google Drive). LABORATORY 2 – ANDROID UI & LAYOUT MANIPULATION WITH FUNCTIONS
Laboratory Problem (Challenge):
You are tasked to design and implement a Campus Dashboard App (no
database required). The app must allow students to:
• Navigate between different sections (Home, Schedule, Profile).
• Add and remove dashboard cards dynamically.
• Use buttons that trigger functions such as counters, validation, and mode
switching.
• Toggle themes and dynamically style UI components.
Materials / Requirements:
• Any version of Android Studio.
• Kotlin (for UI logic and functions)
• Android Emulator or physical device
• OBS Studio + Streamlabs (screen recording + camera overlay)
• Type A uniform
Instructions:
Part A – Layout & Navigation
1. Create a new project CampusDashboardFunctions (Empty Activity,
Kotlin).
2. Implement BottomNavigationView with at least three sections:
o HomeFragment
o ScheduleFragment
o ProfileFragment
Part B – UI Manipulation + Functions
1. HomeFragment (Dynamic Cards + Counter Function)
• Start with 2 dashboard “cards” (CardViews or ConstraintLayouts).
• Add buttons:
o Add Card → creates a new dummy card dynamically.
o Remove Card → deletes the last card.
• Add a counter function that increases every time a card is added and
decreases when one is removed. Show the count in a TextView (e.g., “You
have 5 cards”).
2. ScheduleFragment (Toggle Views + Simple Validator)
• Display a list of 5–6 dummy “subjects” (TextViews or RecyclerView).
• Add a button that toggles between:
o Day View → shows only 2 subjects.
o Week View → shows all subjects.
• Add a TextField + Button that allows the user to “search for a subject.”
o If found → show “Subject Found!” message.
o If not found → show “Subject not available.”
3. ProfileFragment (Theme Switcher + Image Swap Function)
• Show profile picture, name, and ID.
• Add a button to switch profile pictures (rotate between 2–3 images).
• Add a theme toggle button:
o Light mode → normal colors.
o Dark mode → dark background and light text.
o Must update dynamically without restarting the app.
Part C – Documentation & Recording
1. Uniform Requirement:
o You must wear your Type A uniform while doing this lab.
2. Use OBS Studio + Streamlabs:
o Screen record your development + testing.
o Keep your camera on with your face visible (uniform clearly shown).
3. Narration:
o Explain your process and the functions as you code (e.g., “Now I’m
adding the counter function for the cards... when I press Add Card,
the counter should increase.”).
4. Upload & Submission:
o Export video (MP4 preferred).
o APK
o Upload to Google Drive.
o Set sharing permissions to “Anyone with the link can view.”
o Include the Google Drive link in your lab report.