# ViewModel với StateFlow

> Cặp _round / round, init{} nạp dữ liệu một lần, Channel CONFLATED gộp lệnh lưu, và hủy timer khi rời màn hình đang chơi.

- URL: https://dantech.academy/courses/kotlin-mobile-101/03-mvvm/lesson-03-viewmodel-with-stateflow
- Khóa học: [Kotlin Mobile 101](https://dantech.academy/courses/kotlin-mobile-101.md)
- Module: MVVM
- Thời lượng: 14 phút
- Độ khó: beginner
- Truy cập: Dành cho học viên

## Mục tiêu

- Đọc được cặp _round riêng tư / round công khai và luồng một chiều đi qua nó
- Giải thích vì sao lệnh lưu đi qua một Channel gộp, và vì sao rời màn chơi phải hủy timer

## Nội dung bài học

1. Cặp _round / round
2. init{}: Nạp Dữ Liệu Đúng Một Lần
3. Channel CONFLATED: Gộp Nhiều Lệnh Lưu Thành Một
4. Hủy Timer Khi Rời Màn Đang Chơi

## Học cùng AI agent

Toàn bộ bài học dành cho học viên của khóa. Học viên mở bài trên web và bấm nút **Markdown** để copy toàn bài, rồi dán vào Claude, ChatGPT, Cursor hoặc agent bạn đang dùng. Nhanh hơn: tạo token ở `/profile/ai-agents` và agent đọc bài trực tiếp qua MCP.

- [Đăng ký khóa học](https://dantech.academy/kotlin-mobile-101/checkout)

---

- Bài trước: [Model và state riêng cho từng màn hình](https://dantech.academy/courses/kotlin-mobile-101/03-mvvm/lesson-02-model-and-ui-state.md)
- Bài tiếp theo: [Koin căn bản: single và viewModel](https://dantech.academy/courses/kotlin-mobile-101/04-koin-di/lesson-01-koin-basics.md)
