SPEAKER NOTES:
Today is a build-focused demo. We’ll create a contacts list for tournament volunteers and add a dialog to add new contacts.
SPEAKER NOTES:
We’ll work from an empty Compose screen to a usable contact list with add/delete actions.
SPEAKER NOTES:
We’ll start with data and list rendering.
SPEAKER NOTES:
Simple model. We’ll use a stable ID for keys.
SPEAKER NOTES:
This gives us something to render before we wire inputs.
SPEAKER NOTES:
We’ll use `items` with a stable key. Later we’ll move state into a ViewModel.
SPEAKER NOTES:
Use a `Surface` to give the row a card-like feel without adding a full Card.
SPEAKER NOTES:
We need navigation and quick actions. Add a top app bar with an add button.
SPEAKER NOTES:
Introduce `Scaffold` for app bars and ensure list content respects padding.
SPEAKER NOTES:
We’ll capture user input with a dialog and update the list.
SPEAKER NOTES:
Three small pieces of state: dialog visibility and two text fields.
SPEAKER NOTES:
Use two text fields inside the dialog. Validate inputs before adding.
SPEAKER NOTES:
This is a simple example. Later, we’ll use a ViewModel and proper ID generation.
SPEAKER NOTES:
Connect today’s demo to Friday’s CodeLab on scrollable lists.
SPEAKER NOTES:
Remind students that the same patterns apply to scorecards, team lists, and announcements.
SPEAKER NOTES:
Encourage students to bring questions about list performance and dialog UX.