Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

(Jetpack, Architecture & More)Advanced Android Bootcamp

(Jetpack, Kiến trúc & Hơn thế nữa) Khóa học Android Nâng cao

(Jetpack, Kiến trúc & Hơn thế nữa) Khóa học Android Nâng cao

Phát triển Ứng dụng Android với Jetpack, Compose, Kiến trúc MVVM Clean, Dagger/Hilt, Coroutines, Testing, Retrofit, ...

4.3
(3,707 đánh giá)
20,397 học viên
Giảng viên
Anushka Madusanka
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
79.000đ 349.000đ -77%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
37.5 giờ video
379 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 07/06/2026

Bạn sẽ học được gì

Android Jetpack: Data Binding, View Binding, View Model, Live Data, Room Data Persistence, Paging, Work Manager, Navigation, LifeCycle aware components
Jetpack Compose: Kiến thức cơ bản, Khái niệm Nâng cao (Xử lý State, Side Effects, Uni Directional Data Flow,....), Ví dụ Dự án Nâng cao với Jetpack Compose
Kotlin Coroutines, Dependency Injection với Dagger 2 & Hilt, Networking với Retrofit 2, Unit Testing
Các phương pháp hay nhất về Kiến trúc Android Nâng cao, Kiến trúc MVVM Clean
Unit Testing Ứng dụng Android với JUnit, Truth và Mockito.
6 Ví dụ Dự án Hoàn chỉnh Lớn hơn, Bao gồm các Ứng dụng Thực tế của Thư viện Jetpack, Dagger/Hilt, Coroutines, Retrofit và Clean Architecture

Yêu cầu

Kiến thức cơ bản về Android Studio
Kiến thức cơ bản về Kotlin hoặc Java
Kỹ năng Phát triển Android Cơ bản (ít nhất, đã hoàn thành một khóa học hoặc hướng dẫn cơ bản)
(bạn có thể cần cung cấp địa chỉ email để đăng ký API REST miễn phí TMDB của bên thứ ba)

Đối tượng phù hợp

Nhà phát triển Android trình độ Cơ bản (có kiến thức cơ bản về Phát triển Android)
Nhà phát triển Android Chuyên nghiệp.
Những học viên quyết tâm muốn trở thành nhà phát triển Android chuyên nghiệp.
Bất kỳ ai có đam mê xây dựng các ứng dụng Android tuyệt vời bằng các công nghệ tiên tiến.

Nội dung khóa học

39 phần • 357 bài giảng
1 Tổng quan Chương trình Khóa học
2 Tổng quan Chương trình Khóa học (Bản viết)
3 Cách Bật Phụ đề (Chú thích)
4 Cách Đặt Câu hỏi Trong Khóa học
5 Cách Tải xuống và Sử dụng Mẫu Mã nguồn
6 Món quà dành cho bạn: Sách điện tử (PDF) 120 Câu hỏi Phỏng vấn Android.
1 Một Ví dụ Data Binding Đơn giản
2 BuildFeatures (cập nhật mới)
3 Thử thách Lập trình 1
4 Đáp án Thử thách Lập trình 1
5 Data Binding Với Objects
6 Tóm tắt Phần (Ghi chú Ngắn)
7 Câu hỏi Thường gặp.
8 Ứng dụng Thực tế của Data Binding
1 Tại sao Chúng ta Cần View Model?
2 Một Ví dụ View Model Đơn giản
3 Cách Thêm Dependencies vào Gradle Mới của Android Studio
4 Thử thách Lập trình 1
5 Đáp án Thử thách Lập trình 1
6 Khi nào thì phương thức onCleared() của ViewModel được gọi?
7 Lỗi Kế thừa từ một interface với các thành viên '@JvmDefault'.
8 View Model Factory
9 Cách mới để lấy một instance của ViewModel.
10 Tóm tắt Phần (Ghi chú Ngắn)
11 Câu hỏi Thường gặp.
1 Kiến thức cơ bản về LiveData
2 Thử thách Lập trình 1
3 Đáp án Thử thách Lập trình 1
4 Tóm tắt Phần (Ghi chú Ngắn)
5 Câu hỏi Thường gặp
1 View Model Với Data Binding
2 Live Data Với Data Binding
3 Two Way Data Binding
4 Khi nào chúng ta sử dụng Two Way Data Binding?
5 Thử thách Lập trình
6 Đáp án Thử thách Lập trình
1 Vòng đời Android Activity
2 Giới thiệu Fragments
1 Giới thiệu Navigation Architecture Component
2 Thiết lập Dự án
3 Navigation Graph
4 Navigation Host Fragment
5 Navigation Destinations
6 Navigation Actions
7 Chuyển đổi Dữ liệu Giữa các Destinations
8 Hiệu ứng Hoạt hình cho Actions
9 Thử thách Lập trình 1
10 Thử thách Lập trình 1: Giải pháp
1 Kiến thức cơ bản về Android RecyclerView
2 RecyclerView với Data Binding và ViewBinding
1 Giới thiệu
2 Tầm quan trọng của Lập trình Bất đồng bộ
3 Coroutine Đầu tiên của Chúng ta
4 Scopes, Dispatchers & Builders
5 Thử thách Lập trình 1
6 Thử thách Lập trình 1: Giải pháp
7 Chuyển đổi Thread của một Coroutine
8 Cách sửa Lỗi xảy ra với coroutines version 1.3.7
9 Suspending Functions
10 Async & Await
11 Unstructured Concurrency
12 Structured Concurrency
13 View Model Scope
14 Life Cycle Scope
15 LifecycleScope.launchWhenCreated { } đã lỗi thời.
16 Live Data Builder
17 Coroutines Flows
18 Khi nào sử dụng các coroutines khác nhau
19 Ứng dụng Thực tế (Ví dụ Dự án) của Coroutines.
1 Giới thiệu
2 Thiết lập Dự án
3 Các Lớp Room Entity
4 Data Access Object Interface (DAO)
5 Lớp Room Database
6 Repository Trong MVVM
7 Thiết kế View
8 Tạo ViewModel
9 Triển khai Chức năng CRUD: Phần 1
10 Triển khai Chức năng CRUD: Phần 2
11 Triển khai Chức năng CRUD: Phần 3
12 Hiển thị Thông báo Toast Với ViewModel và LiveData
13 Xác minh Với Giá trị Trả về Từ Database
14 Xác thực Đầu vào Người dùng
15 RecyclerView Hiệu quả Hơn
16 Ghi chú Ngắn về Làm việc Với Room
17 Ghi chú Ngắn về Kiến trúc MVVM cho Phát triển Android
18 Flow Thay vì LiveData
1 Room Database Migrations: AutoMigrations
2 Thử thách Lập trình 1
3 Thử thách Lập trình 1: Đáp án
4 AutoMigrations Với Specifications
5 Thử thách Lập trình 2
6 Thử thách Lập trình 2: Đáp án
1 Giới thiệu
2 Thiết lập Dự án
3 Tạo Các Lớp Dữ liệu
4 Interface Với URL End Points
5 Lớp Retrofit Instance
6 Xem Dữ liệu
7 Query Parameters
8 Path Parameters
9 Logging Interceptor
10 Đặt Time Outs
11 POST Requests
1 Lưu ý: Đối với Android 13 (API level 33) trở lên, cần thêm Permission.
2 Một Ví dụ Thông báo Đơn giản
3 Lưu ý: PendingIntent.FLAG_IMMUTABLE
4 Hành động khi chạm
5 Nút Hành động
6 Hành động Trả lời Trực tiếp
1 Giới thiệu
2 Ví dụ Work Manager One Time Work Request
3 Nhận Cập nhật Trạng thái Từ Workers
4 Đặt Constraints
5 Đặt Input & Output Data Của một Lớp Worker
6 Chaining Workers
7 Ví dụ Periodic Work Request
1 "Dependency Injection" là gì?
2 Dagger và Hilt
3 Một Ví dụ Dependency Injection Thuần túy
4 Constructor Injection Với Dagger 2
5 Dagger 2 Modules
6 Làm việc Với Interfaces
7 Field Injection Với Dagger 2
8 State Of A Module
9 Lớp Application
10 Singletons
1 Giới thiệu Dự án
2 Chúng ta có cần tạo các lớp Use Case mọi lúc không?
3 Use Cases Của Dự án
4 Thiết lập Dự án
5 BuildConfig trong build.gradle.kts
6 Plugin JSON To Kotlin Class
7 Giải pháp Cho Lỗi 503 Service Unavailable.
8 Cập nhật Mới
9 Tạo Data Layer: Phần 1
10 Tạo Data Layer: Phần 2
11 Tạo Data Layer: Phần 3
12 Tạo Domain Layer
13 Tạo Data Layer: Phần 4
14 Tạo Data Layer: Phần 5
15 Tạo Presentation Layer: Phần 1
16 Tạo Presentation Layer: Phần 2
17 Tạo Presentation Layer: Phần 3 (Dagger)
18 Tạo Presentation Layer: Phần 4 (RecyclerView)
19 Cách Thay đổi Màu sắc Chủ đề.
20 Tạo Presentation Layer: Phần 5
21 Tạo Presentation Layer: Phần 6
1 Giới thiệu
2 Thiết lập Dự án
3 Local Unit Test Đầu tiên của Chúng ta
4 Đáp án Thử thách Lập trình 1
5 Test Doubles
6 Testing ViewModel
7 Testing Room
8 Testing LiveData
9 Thêm về Unit Testing (Mock Web Server,...)
1 Kiến thức cơ bản về View Binding
2 Ví dụ Android Services Với View Binding
3 Cập nhật cho bài học tiếp theo
4 Android Services và Broadcast Receivers: Ứng dụng bấm giờ với view binding
1 Kiến thức cơ bản về Hilt
2 Cách thêm dependencies HILT vào gradle mới của Android Studio.
3 Thử thách Lập trình: Chuyển đổi dự án TMDB từ Dagger sang Hilt
4 Đáp án Thử thách Lập trình
5 Ví dụ dự án Hilt
1 Giới thiệu
2 Nhận diện Use Cases
3 Nhận diện data models
4 Lưu trữ Secret Keys
5 Nguồn dữ liệu từ xa và các hàm liên quan
6 Code thay thế cho ActiveNetWorkInfo
7 Unit Testing với Mock Web Server
8 View Model & View Model Factory
9 Dependency Injection với Hilt
10 Fragments & Navigation Components
11 Sửa lỗi: Inheritance from an interface with '@JvmDefault' members is only all
12 RecyclerView với DiffUtil
13 Thêm về Dependency Injection
14 Paging cơ bản với RecyclerView
15 Hiển thị trên Web View
16 Triển khai chức năng Tìm kiếm
17 FragmentContainerView cho Navigation
18 Hilt SingletonComponent
19 Các thành phần liên quan đến cơ sở dữ liệu cục bộ phần 1
20 Các thành phần liên quan đến cơ sở dữ liệu cục bộ phần 2
21 Các thành phần liên quan đến cơ sở dữ liệu cục bộ phần 3
1 Giới thiệu và Thiết lập
2 Modifiers và các tham số khác trong Jetpack Compose
3 Bố cục Column trong Jetpack Compose
4 Bố cục Row trong Jetpack Compose
5 Bố cục Box trong Jetpack Compose
6 Màu nền Button trong các phiên bản mới hơn
7 Button trong Jetpack Compose
8 SnackBar trong Jetpack Compose
9 RecyclerView (Lazy Column) trong Jetpack Compose
1 State trong Jetpack Compose
2 Ghi nhớ State trước khi Recomposition
3 Property Delegates
4 Unidirectional Data Flow và State Hoisting
5 Lưu State với rememberSaveable
6 ViewModel làm tham số của Composable
1 Giới thiệu Kotlin Flows
2 Kotlin Flows với Jetpack Compose
3 Kotlin Flows với ViewModel
4 Buffer & CollectLatest
5 Flow Operators
6 Lifecycle.launchWhenCreated đã lỗi thời, hãy dùng lifecycleScope.launch
7 State Flow
8 Shared Flow
1 Giới thiệu
2 Tạo Composables: Phần 1
3 Tạo Composables: Phần 2
4 Tạo Composables: Phần 3
5 Tạo Composables: Phần 4
6 Room Database, Entity và DAO
7 Lưu dữ liệu vào Database
8 Hiển thị danh sách lịch sử bằng Lazy Column
9 Xóa một mục danh sách & Nút Xóa tất cả
10 Dependency Injection với Hilt
11 ViewModel làm State Holder
12 Xử lý hướng màn hình trên Jetpack Compose
1 Giới thiệu Side-Effects
2 LaunchedEffect
3 RememberCoroutineScope
1 Xử lý sự kiện với Sealed Classes
2 Navigation trong Jetpack Compose
1 Tổng quan chương trình học (Xem bài này trước)
2 Tổng quan Android Architecture Components
3 Tổng quan kiến trúc MVVM
4 Giới thiệu ViewModel
5 Ví dụ code ViewModel
6 Làm việc với Live Data
7 setValue() hay postValue()
1 Giới thiệu lưu trữ dữ liệu với Room
2 Giới thiệu lưu trữ dữ liệu với Room: Ghi chú ngắn
3 Ứng dụng CRUD tạo không dùng Room
4 Thiết lập dự án cho Room
5 Lớp Entity trong Room
6 Lớp Entity trong Room: Ghi chú ngắn
7 Room DAO (Data Access Object)
8 Room DAO (Data Access Object): Ghi chú ngắn
9 Lớp Database trong Room
10 Lớp Database trong Room: Ghi chú ngắn
11 Hoàn thiện chức năng CRUD
12 Hoàn thiện chức năng CRUD: Ghi chú ngắn
13 Thao tác Database dùng luồng riêng
14 Thao tác Database dùng luồng riêng: Ghi chú ngắn
15 Lớp Callback của Room Database
16 Lớp Callback của Room Database: Ghi chú ngắn
17 Bài tập về nhà 1
18 Đáp án bài tập về nhà 1
1 Giới thiệu Android Data Binding
2 Giới thiệu Android Data Binding: Ghi chú ngắn
3 Thiết lập dự án Data Binding
4 Thiết lập dự án Data Binding: Ghi chú ngắn
5 Data Binding với TextViews
6 Data Binding với TextViews: Ghi chú ngắn
7 Data Binding cho Event Listeners
8 Data Binding Event Listeners: Ghi chú ngắn
9 Làm việc với Include Layouts
10 Làm việc với Include Layouts: Ghi chú ngắn
11 Two Way Data Binding
12 Two Way Data Binding: Ghi chú ngắn
13 Bài tập về nhà 2
14 Đáp án bài tập về nhà 2
15 Data Binding với RecyclerView
1 Giới thiệu
2 Tạo các thành phần Room của dự án
3 Tạo Repository
4 Tại sao không dùng AsyncTask cho một số phương thức?
5 Tạo View Model
6 Làm việc với Spinner
7 Hiển thị dữ liệu trên RecyclerView
8 Hoàn thiện chức năng Thêm, Sửa và Xóa
9 Dùng DiffUtil để cập nhật RecyclerView
10 Dùng Executors thay cho AsyncTask
1 Mục đích của phần này
2 Giới thiệu
3 Tạo một instance Retrofit
4 Lớp Entity/Model
5 Tạo Interface với các URL End Points
6 Interface Call
7 Làm việc với Path Parameters
8 Làm việc với Query Parameters
9 Làm việc với Request Body
10 Http Headers
11 Khi nào dùng OkHttp?
12 Giới thiệu ví dụ GET Request
13 Thiết lập dự án
14 Tạo các lớp Model
15 Interface với các URL End Points
16 Tạo instance Retrofit Singleton
17 Tạo View
18 Tạo View - Phần 2
19 Bài tập về nhà
20 Đáp án bài tập về nhà
21 Giới thiệu ví dụ Retrofit POST Request
22 Ví dụ Retrofit POST Phần 1
23 Ví dụ Retrofit POST Phần 2
24 Ví dụ Retrofit POST Phần 3
25 Cách giá trị được gửi trong HTTP POST Request
26 Ứng dụng TMDB Client: Giới thiệu
27 Lấy API Key từ The Movie Database
28 Thiết lập dự án
29 Lớp Model
30 Instance Retrofit và Interface
31 Lấy dữ liệu từ API
32 Tạo View - Phần 1
33 Tạo View - Phần 2
34 Tạo View - Phần 3
1 Giới thiệu bài tập về nhà
2 Đáp án bài tập về nhà: Phần 1
3 Đáp án bài tập về nhà: Phần 2
1 Giới thiệu Paging Library
2 Thiết lập dự án
3 Tạo Data Source
4 Tạo Data Source Factory
5 Chỉnh sửa View Model cho Paging
6 Tạo PagedListAdapter
7 Chỉnh sửa Activity cho Paging
1 Nguyên tắc SOLID của Thiết kế Hướng đối tượng
1 Dependencies và Dependency Injection
2 Ví dụ Pure Dependency Injection
3 Constructor Injection
4 Dagger Modules
5 Làm việc với Interfaces
6 Inject dependencies dùng phương thức injector
7 Modules có trạng thái
8 Tạo lớp con của lớp Application
9 Dagger 2 Singleton
10 Bài tập về nhà
11 Đáp án bài tập về nhà
12 Tổng quan View-model Factory
13 Dependency Injection với Dagger 2 cho MVVM
14 Zelency Plugin
15 Butter Knife trong Activities
16 Butter Knife trong Fragments
1 Giới thiệu
2 Ví dụ Work Manager đơn giản
3 Nhận cập nhật trạng thái
4 Làm việc với Constraints
5 Gửi và nhận dữ liệu
1 Giới thiệu
2 Thiết lập dự án
3 Tạo Navigation Graph
4 Tạo Navigation Host Fragment
5 Điểm Đến Điều Hướng
6 Hành Động
7 SafeArgs Để Truyền Dữ Liệu
8 Bài Tập Về Nhà
9 Đáp Án Bài Tập Về Nhà
1 Vòng Đời Activity Trên Android
2 Ví Dụ Mã Về Vòng Đời Activity
3 Các Thành Phần Nhận Biết Vòng Đời
1 Kết Luận
2 Bài Học Bổ Sung

Giới thiệu khóa học

Become a highly qualified Professional Level Android Developer by mastering most demanded Android skills!

If you are an Android Developer with some coding experience, If you want to level up your skills and become a professional level Android Developer this course is for you!

This large course is a collection of 7 advanced Android Development courses.


1) Complete Android Jetpack Masterclass

You will get a complete android jetpack masterclass from this course.

Covering all the areas such as Data Binding, View Binding, View Model, Live Data, Room, Navigation, Work Manager and Notifications.

I will tach you advanced areas like Room Migrations as well.

After learning the basics, You will be developing 6 complete, larger projects to master practical applications of the knowledge you gained. You will be able to learn how to use jetpack components with dagger and hilt, coroutines, retrofit and testing libraries. And how to integrate the with MVVM and MVVM Clean Architecture.


2) Jetpack Compose Masterclass

I will step by step tach you everything you need to know in order to start using jetpack compose in your android projects.

You will start by learning fundamentals such as modifiers, layouts and View components and creating RecyclerViews using lazy columns.

We will also cover advanced areas such as State in Jetpack Compose, remembering state before the recomposition, property delegates, How to work with Side Effects, Unidirectional Data Flow and State Hoisting, Saving the state with remember saveable and how to effectively use view models with jetpack compose.


3) Dependency Injection With Dagger and Hilt Crash Course

As section 16 of this course you will get a dependency injection with dagger crash course. And in the section 19 you will learn everything you need to learn about HILT.

We will start with very basic pure dependency injection examples.And step by step progress to more advanced areas of dagger and hilt. You will learn about application class, modules, component interfaces, constructor injection, field injection and scopes.

Not only that, you will be able to experience creating 3 larger projects using dagger/hilt as the dependency injection framework.


4) Kotlin Coroutines Masterclass

We will discuss about scopes, dispatchers, builders, suspending functions, structured concurrency, view model scope, lifecycle scope and live data builder with easy-to-understand code samples. You will also be able master Coroutine Flow fundamentals, State Flow , Shared Flow, Buffer and Collect Latest, Flow Operators and how to use flows with view models.


5) Networking With Retrofit Crash Course

I will show you how to communicate with a REST APIs using retrofit library.

You will learn how to send GET and POST request to a server, how to effectively use path and query parameters,

how to receive data from a server, logging interceptors, timeouts, converting JSON formatted data received from server to Kotlin as well as how to use coroutines with retrofit.


6) MVVM and MVVM clean architecture Masterclass

With this course you will be able to master MVVM and MVVM clean architecture with single activity multiple fragments model and single activity multiple composables model.

We will be step by step building 6 larger well architected projects with Jetpack Architecture components and other supporting libraries such as Dagger/Hilt, Coroutines and Retrofit.

7) Unit Testing With JUnit And Mockito Crash Course

You will be able to learn how to unit test android applications using JUnit and third party libraries like Mockito and Truth.

I will teach you fundamentals of android unit testing with easy to understand code samples.

We will talk about test doubles, testing view model , live data and room db components, as well as testing with mock web servers.


With over 340 lectures and more than 35 hours of video, this comprehensive course leaves no stone unturned! . 

I will start by teaching  you each major topic with easy to understand simple project examples . Later, we will complete larger/complex project examples applying all the things we learnt.

To improve the student engagement  coding challenges(homework assignments) and quizzes have included to each chapter, as well as 6 major projects aimed to provide a clear idea about how all those components work together!

This course will teach you  Advanced Android Development in a practical manner, with every lecture comes a full coding screen-cast, corresponding  short notes and downloadable code samples! Learn in whatever manner is best for you!

You will get lifetime access to over 340 lectures plus corresponding code samples and notes for the lectures! 

This course comes with a 30 day money back guarantee! If you are not satisfied in any way, you'll get your money back. Plus you will keep access to the Notes and Code Samples as a thanking for trying out the course!

So what are you waiting for? Start mastering Android Jetpack, Jetpack Compose, Android Architecture Best practises, Dagger/Hilt, Kotlin Coroutines, Retrofit and Unit Testing in a way that will advance your career and increase your knowledge, all in a fun and practical way!


Who is the target audience?

· Beginners level Android Developers (with the basic knowledge of Android Development fundamentals).

· Intermediate level android developers who want to level up their skills!


Note:

During the course (in one section) to demonstrate different usages of retrofit, we will use TMDB free online REST API  . You may need to provide an email address to sign up and get a free API key from them.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Android Development
Hiển thị tất cả khoá học Kotlin
Hiển thị tất cả khoá học Mobile App Development
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊