강의

멘토링

로드맵

BEST
Programming

/

Mobile Application Development

Hướng dẫn nhập môn Modern Android Development dễ hiểu của Frozen Coder

Mục đích của bài giảng này là truyền đạt một cách dễ hiểu về nguyên lý hoạt động của các thư viện Android, tập trung vào Android Jetpack, và cách áp dụng chúng vào ứng dụng.

(4.8) 19 đánh giá

332 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • frozencoder
Android
Android
Jetpack
Jetpack
Architecture
Architecture
Kotlin
Kotlin
Android
Android
Jetpack
Jetpack
Architecture
Architecture
Kotlin
Kotlin

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.8

5.0

JI HUN LEE

100% đã tham gia

Trước hết, tôi rất ấn tượng với lời giải thích không chỉ về cách áp dụng thư viện mà còn cả quá trình phát triển thư viện. Thật tuyệt khi tìm hiểu lý do tại sao Jetpeg cung cấp nhiều thư viện như vậy và lý do chúng được cung cấp. Trước đó, tôi nghĩ mình phải nghiên cứu tất cả những điều này và biết cách sử dụng nó thật tốt để có được một công việc. Đó là một nhận thức tuyệt vời đối với tôi, một người luôn đau đầu khi ghi nhớ và sao chép. hướng dẫn. Và đặc biệt đối với Hilt, tôi đã nhận được rất nhiều sự giúp đỡ bằng cách giải thích những thông tin nâng cao, chẳng hạn như nguyên tắc SOLID và cách thức hoạt động của Hilt, những thông tin khó hiểu ngay cả sau khi đọc các tài liệu chính thức, một cách dễ hiểu. Trong tình huống này, tôi nghĩ mình nên thêm chú thích này hoặc phạm vi này, đồng thời chỉ tham khảo các mã mẫu của Code Lab và dán chúng, nhưng bây giờ tôi cảm thấy như mình đã nhận ra nguyên tắc nên tôi rất biết ơn. (phép cộng) Hơn nữa, thật tuyệt khi học cách viết mã kiểm tra, điều này không hề dễ dàng để tôi tự thực hiện (đặc biệt là Kiểm tra giao diện người dùng bằng Espresso), bằng cách thêm không chỉ kiến ​​trúc mà còn cả ứng dụng Kotlin kts và các phần xem trước thử nghiệm. Tôi sẽ áp dụng những gì tôi đã học được vào một dự án hiện có và biến nó thành của riêng mình!

5.0

hhyeok1026

100% đã tham gia

(Bài giảng được đăng sau khi nghe hết bài giảng) (Xin hãy hiểu rằng nó đã được viết ở định dạng được sửa đổi để dễ đọc hơn.) - Những điều cơ bản được tóm tắt trước khi vào phần. Việc dọn dẹp một phần là 'rất' Làm tốt - Chứa đựng kiến ​​thức của người hướng dẫn - Đây là một nhà hàng tuyệt vời cho các bài giảng thử nghiệm. Tôi đã không hiểu nó khi thử nghiệm nó trên Google Code Lab, nhưng tôi đã học được rất nhiều điều từ bài giảng này. (Tôi rất ấn tượng với phần cơ bản xem trước phần thi trong phụ lục. Nếu bạn lo lắng về việc thanh toán, hãy xem tại đây.) - Bài giảng đơn giản, dễ hiểu. Sẽ rất dễ dàng để thành thạo và tôi tự hào khi có được ứng dụng hoàn chỉnh này làm tài liệu tham khảo sau khi nghe tất cả các bài giảng. (Có nhiều phần tôi đã sử dụng trong phòng thí nghiệm mã, vì vậy đối với tôi nó rất dễ dàng vì nó giống như một bài đánh giá, nhưng tôi không biết người khác cảm thấy thế nào) (Tuy nhiên, đơn giản, dễ dàng vừa là ưu điểm vừa là nhược điểm -> Sẽ tốt cho người học nếu bổ sung những phần chưa hiểu hoặc còn thiếu) - Chắc hẳn các thầy Google đã tạo ra Jetpack để tạo ứng dụng dễ dàng hơn... Nội dung khá phong phú và không dễ học. Bạn sẽ không thể có được mọi thứ mình mong muốn khi xem bài giảng này và rất có thể người học sẽ phải tìm và nghiên cứu thêm. - Giá trị học phí rõ ràng, nếu công ty hỗ trợ học tập thì bạn có thể thanh toán mà không cần đắn đo! Nếu bạn có tiền riêng, bạn nên tự mình làm việc đó, nhưng có thể bạn nên mua nó với giá chiết khấu trên Infron và học như một chi phí chìm(?) (Tóm lại, tôi khuyên bạn nên tham gia các bài giảng. Bạn sẽ nhận được Nghe nhiều hơn là không nghe, và trả tiền khi không có thời gian lo lắng về học phí hay chất lượng bài giảng. Nếu xem thì có thể bạn sẽ học đến phần 3) - Khi bạn đặt câu hỏi, người hướng dẫn sẽ trả lời một cách tử tế và nhanh chóng. - Nếu có khóa học Android nào tôi cần vào lần tới, tôi sẵn sàng mua chúng. - Trong buổi review khóa học có review 3 sao, có những phần tôi đồng tình. (Chuyển đổi màn hình được áp dụng theo kiến ​​trúc, file bị chia nhỏ nhiều nên khó tránh khỏi. Phải theo dõi code mới thấy nhưng code bị editor ẩn đi hoặc phải nhấn undo nhiều khi cuộn. Tiết kiệm thời gian để nhấn xem video tiếp theo trên YouTube. Cũng giống như tạm dừng 5 giây, sẽ rất tốt nếu bạn tạm dừng 3-5 giây để hoàn thành mã và dừng video. Ngoài ra, người hướng dẫn có vẻ nói hơi nhanh, nhưng tôi đoán là tôi không giỏi lắng nghe. Có lẽ vì là lớp học tiếng Anh hoặc thư viện nên có một số phần phải nghe nhiều lần mới hiểu được. để nghe đi nghe lại) Tôi rất thích bài giảng tốt. Cảm ơn

5.0

춘식이

100% đã tham gia

Tôi đã từng sử dụng công nghệ jetpack, nhưng tôi muốn biết chính xác hơn nhưng lại lo lắng vì có quá nhiều thông tin nên tôi tham gia bài giảng này. Nó rất hữu ích vì nó giải thích các khái niệm một cách dễ dàng và chính xác. Đặc biệt, thay vì học riêng công nghệ jetpack, hãy áp dụng tất cả trong một dự án & Thật tuyệt khi có thể hiểu được quy trình tổng thể trong khi tái cấu trúc. Tôi nghĩ việc trả lời nhanh các câu hỏi cũng là một lợi thế lớn. Cảm ơn bạn vì bài giảng tuyệt vời :)

Bạn sẽ nhận được điều này sau khi học.

  • Kỹ năng phát triển Android hiện đại

  • Sự khác biệt giữa MVC, MVP và MVVM

  • Lý thuyết và cách sử dụng thư viện Jetpack

  • Lý thuyết và cách sử dụng Android Architecture Components

  • Tự động hóa kiểm thử mã nguồn Android

Học chắc chắn thông qua các lý thuyết tóm tắt những nội dung cốt lõi,
và học tập một cách cân bằng bằng việc tạo ứng dụng ngay trong phần thực hành! 💻

Cùng Android lên tên lửa
và mạnh mẽ xuất phát nào! 🚀

Jetpack là một tập hợp các thư viện và công cụ do Google tạo ra nhằm giúp các nhà phát triển xây dựng các ứng dụng chất lượng tốt một cách dễ dàng và nhanh chóng.

Cách tốt nhất để học cách sử dụng các thư viện Android là tham khảo tài liệu chính thức của Google Developers, nhưng trong nhiều trường hợp phần giải thích rất phức tạp và tài liệu tiếng Hàn thường không được cập nhật nhanh chóng.

Vì vậy, tôi đã quyết định thử tạo ra một bài giảng Android dễ hiểu. Trong bài giảng này, chúng ta sẽ tìm hiểu về mô hình kiến trúc, cách sử dụng Android Jetpack Library, cũng như tiêm phụ thuộc (dependency injection) và tự động hóa thử nghiệm.


Nếu bạn cũng có cùng nỗi lo lắng đó
thì hãy đồng hành cùng nhau nhé 😎

Những ai muốn áp dụng Jetpack và
MVVM vào ứng dụng Android

Những người không hiểu
tài liệu chính thức của Google Developers

Những ai muốn học thư viện Jetpack
một cách hệ thống


Tôi tò mò về bài giảng ✨

Đặc điểm riêng biệt của bài giảng này

  • Tôi tóm tắt những nội dung cốt lõi từ tài liệu chính thức dài dòng của Google Developers và giải thích chúng thông qua các trang slide.
  • Sau khi kết thúc phần giải thích về thư viện, chúng ta sẽ áp dụng ngay vào việc xây dựng ứng dụng.
  • Lý thuyết và thực hành có tỷ trọng gần như 1:1, giúp việc học tập trở nên cân bằng.
  • Tôi đã loại bỏ tối đa các mã nguồn không cần thiết cho việc thấu hiểu cấu trúc của thư viện.
  • Khóa học bao gồm tất cả các thư viện Jetpack cốt lõi nhất liên quan đến việc xây dựng kiến trúc.


Sự thay đổi của học viên sau khi nghe bài giảng 😁

🏃‍♀️ Hiểu được sự khác biệt giữa cấu trúc MVC, MVP, MVVM và có thể áp dụng vào ứng dụng.

🏃‍♀️ Bạn sẽ có thể hiểu được nguyên lý và sử dụng được các thư viện Jetpack.

🏃‍♀️ Bạn sẽ có thể hiểu và áp dụng Tiêm phụ thuộc (Dependency Injection).

🏃‍♀️ Bạn sẽ được học về tầm quan trọng của việc tự động hóa kiểm thử và các phương pháp kiểm thử mã nguồn trên Android.


Học từng nội dung theo từng phần 🔎

Phần 0 <Giới thiệu>

  • Giải thích sự khác biệt giữa các cấu trúc MVC, MVP, MVVM và tìm hiểu lý do tại sao Jetpack ra đời.

Phần 1
<Lý thuyết về Android Architecture Components>

  • Giải thích về nguyên lý và cách sử dụng của các thành phần AAC như ViewBinding, ViewModel, Lifecycle, LiveData, DataBinding. Ngoài ra, cũng giải thích về cách sử dụng Repository pattern.

Phần 2 <Tạo ứng dụng tìm kiếm sách>

  • Áp dụng những nội dung đã học ở Phần 1 để tạo một ứng dụng tìm kiếm sách.

Phần 3 <Lý thuyết bổ sung>

  • Giải thích bổ sung về lý thuyết của các công nghệ không thuộc AAC trong số các công nghệ đã áp dụng khi tạo ứng dụng ở Phần 2.

Phần 4 <Jetpack Navigation>

  • Tìm hiểu cách áp dụng Jetpack Navigation vào ứng dụng để thực hiện chuyển đổi màn hình.

Phần 5 <Jetpack Room>

  • Tìm hiểu cách áp dụng Jetpack Room vào ứng dụng để xử lý cơ sở dữ liệu SQLite.

Phần 6 <Kotlin Flow>

  • Tìm hiểu cách cập nhật UI bằng Kotlin Flow thay vì Live Data.

Phần 7 <Jetpack DataStore>

  • Tìm hiểu về cách lưu trữ dữ liệu đơn giản bằng Jetpack DataStore thay vì Shared Preferences.

Phần 8 <Jetpack Paging>

  • Tìm hiểu cách xây dựng luồng dữ liệu cuộn vô hạn bằng Jetpack Paging.

Phần 9 <Jetpack WorkManager>

  • Tìm hiểu cách thực hiện các tác vụ nền bằng Jetpack WorkManager.

Phần 10 <Dagger-Hilt>

  • Giải thích lý do tại sao tiêm phụ thuộc (dependency injection) lại quan trọng và tìm hiểu cách tiêm phụ thuộc bằng Hilt.

Phần 11 <Gradle với Kotlin script>

  • Tìm hiểu về cách viết tập lệnh build.gradle bằng Kotlin.

Phần 12 <Kết thúc>

  • Đánh giá điểm MAD Score của ứng dụng mà bạn đã tạo cho đến nay.

Phụ lục <Jetpack Test>

  • Tìm hiểu về tự động hóa kiểm thử trong Android.

 

Câu hỏi thường gặp Q&A 💬

Q. Tại sao nên nghe bài giảng này?

Tôi sẽ giải thích cách sử dụng thư viện Jetpack một cách thực sự dễ hiểu.

Q. Đặc điểm của Jetpack Library là gì?

Nó bao gồm các chức năng cốt lõi giúp Android an toàn về mặt cấu trúc, và là một thư viện quan trọng được duy trì ổn định vì do Google quản lý.

Q. Bạn có giải thích về Jetpack Compose không?

Jetpack Compose là một API vẫn còn nhiều thay đổi do mới ra mắt phiên bản chính thức cách đây không lâu, vì vậy nội dung này sẽ không được đề cập trong khóa học này.

Q. Có điều gì cần chuẩn bị trước khi nghe bài giảng không?

Hãy cài đặt Android Studio trên máy tính của bạn. Sẽ tốt hơn nếu bạn học qua ngữ pháp cơ bản của Kotlin trước khi bắt đầu.


Nội dung khác

- Mã nguồn 📑

Trong khóa học này, chúng ta đã tạo ra 3 ứng dụng.
Bạn có thể tải mã nguồn của ứng dụng từ kho lưu trữ Github của tôi. (Nhấp vào mã nguồn ứng dụng)

  1. Mã nguồn ứng dụng được sử dụng trong bài giảng Architecture Pattern và Android App Architecture
  2. Mã nguồn ứng dụng được sử dụng trong Phần 1. Lý thuyết Android Architecture Components
  3. Mã nguồn ứng dụng tìm kiếm sách được thực hiện trong suốt khóa học created throughout the course

- Phiên bản thư viện ⚠️

Thư viện Android được sử dụng trong bài giảng này đã áp dụng phiên bản mới nhất tính đến ngày 25/04/2022.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những người muốn áp dụng cấu trúc MVVM vào ứng dụng của mình

  • Dành cho những ai muốn hiểu cách sử dụng Jetpack một cách dễ dàng

  • Dành cho những ai muốn hiểu về Tiêm phụ thuộc (Dependency Injection) một cách dễ dàng

  • Dành cho những ai muốn hiểu tại sao cần phải tự động hóa thử nghiệm

Cần biết trước khi bắt đầu?

  • Cơ bản về Android

  • Kotlin cơ bản

Xin chào
Đây là

Tôi đang nỗ lực để tạo ra những bài giảng lập trình dễ hiểu.

Tôi đang nỗ lực để tạo ra những bài giảng lập trình dễ hiểu.

* Kênh YouTube của Frozen Coder

https://www.youtube.com/channel/UC6V7LBEgcoTZUUgUU0Jv3xg

* Blog kỹ thuật của Frozen Coder

https://cliearl.github.io/

Chương trình giảng dạy

Tất cả

46 bài giảng ∙ (7giờ 27phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

19 đánh giá

4.8

19 đánh giá

  • hhyeok1026님의 프로필 이미지
    hhyeok1026

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    (Bài giảng được đăng sau khi nghe hết bài giảng) (Xin hãy hiểu rằng nó đã được viết ở định dạng được sửa đổi để dễ đọc hơn.) - Những điều cơ bản được tóm tắt trước khi vào phần. Việc dọn dẹp một phần là 'rất' Làm tốt - Chứa đựng kiến ​​thức của người hướng dẫn - Đây là một nhà hàng tuyệt vời cho các bài giảng thử nghiệm. Tôi đã không hiểu nó khi thử nghiệm nó trên Google Code Lab, nhưng tôi đã học được rất nhiều điều từ bài giảng này. (Tôi rất ấn tượng với phần cơ bản xem trước phần thi trong phụ lục. Nếu bạn lo lắng về việc thanh toán, hãy xem tại đây.) - Bài giảng đơn giản, dễ hiểu. Sẽ rất dễ dàng để thành thạo và tôi tự hào khi có được ứng dụng hoàn chỉnh này làm tài liệu tham khảo sau khi nghe tất cả các bài giảng. (Có nhiều phần tôi đã sử dụng trong phòng thí nghiệm mã, vì vậy đối với tôi nó rất dễ dàng vì nó giống như một bài đánh giá, nhưng tôi không biết người khác cảm thấy thế nào) (Tuy nhiên, đơn giản, dễ dàng vừa là ưu điểm vừa là nhược điểm -> Sẽ tốt cho người học nếu bổ sung những phần chưa hiểu hoặc còn thiếu) - Chắc hẳn các thầy Google đã tạo ra Jetpack để tạo ứng dụng dễ dàng hơn... Nội dung khá phong phú và không dễ học. Bạn sẽ không thể có được mọi thứ mình mong muốn khi xem bài giảng này và rất có thể người học sẽ phải tìm và nghiên cứu thêm. - Giá trị học phí rõ ràng, nếu công ty hỗ trợ học tập thì bạn có thể thanh toán mà không cần đắn đo! Nếu bạn có tiền riêng, bạn nên tự mình làm việc đó, nhưng có thể bạn nên mua nó với giá chiết khấu trên Infron và học như một chi phí chìm(?) (Tóm lại, tôi khuyên bạn nên tham gia các bài giảng. Bạn sẽ nhận được Nghe nhiều hơn là không nghe, và trả tiền khi không có thời gian lo lắng về học phí hay chất lượng bài giảng. Nếu xem thì có thể bạn sẽ học đến phần 3) - Khi bạn đặt câu hỏi, người hướng dẫn sẽ trả lời một cách tử tế và nhanh chóng. - Nếu có khóa học Android nào tôi cần vào lần tới, tôi sẵn sàng mua chúng. - Trong buổi review khóa học có review 3 sao, có những phần tôi đồng tình. (Chuyển đổi màn hình được áp dụng theo kiến ​​trúc, file bị chia nhỏ nhiều nên khó tránh khỏi. Phải theo dõi code mới thấy nhưng code bị editor ẩn đi hoặc phải nhấn undo nhiều khi cuộn. Tiết kiệm thời gian để nhấn xem video tiếp theo trên YouTube. Cũng giống như tạm dừng 5 giây, sẽ rất tốt nếu bạn tạm dừng 3-5 giây để hoàn thành mã và dừng video. Ngoài ra, người hướng dẫn có vẻ nói hơi nhanh, nhưng tôi đoán là tôi không giỏi lắng nghe. Có lẽ vì là lớp học tiếng Anh hoặc thư viện nên có một số phần phải nghe nhiều lần mới hiểu được. để nghe đi nghe lại) Tôi rất thích bài giảng tốt. Cảm ơn

    • frozencoder
      Giảng viên

      hhyeok1026, cảm ơn đánh giá quý báu của bạn. Tôi cảm thấy được khen thưởng vì đã biên soạn bài giảng vì nó được đánh giá rất tích cực. Như bạn đã nói, tôi không nghĩ rằng tôi nhận ra rằng tốc độ chuyển đổi khóa học nhanh vì tôi là người hướng dẫn. Cảm ơn bạn đã cung cấp thông tin chi tiết :)

  • eunjizzang님의 프로필 이미지
    eunjizzang

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Tôi đã từng sử dụng công nghệ jetpack, nhưng tôi muốn biết chính xác hơn nhưng lại lo lắng vì có quá nhiều thông tin nên tôi tham gia bài giảng này. Nó rất hữu ích vì nó giải thích các khái niệm một cách dễ dàng và chính xác. Đặc biệt, thay vì học riêng công nghệ jetpack, hãy áp dụng tất cả trong một dự án & Thật tuyệt khi có thể hiểu được quy trình tổng thể trong khi tái cấu trúc. Tôi nghĩ việc trả lời nhanh các câu hỏi cũng là một lợi thế lớn. Cảm ơn bạn vì bài giảng tuyệt vời :)

    • frozencoder
      Giảng viên

      Chunsik, cảm ơn bạn đã đánh giá có giá trị của bạn :)

  • anjungmin927429님의 프로필 이미지
    anjungmin927429

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    91% đã tham gia

    Tôi thực sự rất thích bài giảng 👍 Mã được cung cấp trong bài giảng không tạo ra bất kỳ lỗi nào. Tôi thích nó vì nó khác với các bài giảng khác trong phần này (bạn không phải mất thời gian sửa lỗi). Thật tuyệt khi bỏ qua quá trình viết mã nhanh chóng vì nó tiết kiệm thời gian và không gây nhàm chán. Trong quá trình refactor bằng công nghệ, sắp xếp nội dung thật hay, nghĩ rằng đây là những công nghệ mình tìm thấy và sử dụng trên blog. Nhìn chung, tôi đã sắp xếp những gì tôi biết, nhưng tôi nghĩ tôi cần phải nghe lại bài giảng và biến nó thành của riêng mình đối với những gì tôi chưa biết. Cảm ơn bạn đã tạo một khóa học Android hoàn toàn không phổ biến.

    • frozencoder
      Giảng viên

      Woowa, cảm ơn bạn đã xem. Tôi rất vui vì bài giảng hữu ích. Bạn đã sắp xếp kho lưu trữ gọn gàng, cảm ơn bạn đã chăm chỉ học tập :-)

  • binsoopark님의 프로필 이미지
    binsoopark

    Đánh giá 8

    Đánh giá trung bình 4.9

    5

    100% đã tham gia

    Đây là một trong số ít bài giảng hay giải thích MAD một cách tử tế. Có rất nhiều bài học nên tôi sẽ phải ôn lại nhiều, nhưng tôi nghĩ nó sẽ giúp ích rất nhiều cho cá nhân tôi nếu tôi hiểu đúng bài giảng này. Tôi đã học được rất nhiều 😊

    • frozencoder
      Giảng viên

      Park Soo-bin, cảm ơn bạn đã đánh giá có giá trị. Tôi rất vui vì những nỗ lực của tôi để làm cho bài giảng có chất lượng cao và dày đặc đã được thực hiện tốt :)

  • kenshi30681890님의 프로필 이미지
    kenshi30681890

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Trước hết, tôi rất ấn tượng với lời giải thích không chỉ về cách áp dụng thư viện mà còn cả quá trình phát triển thư viện. Thật tuyệt khi tìm hiểu lý do tại sao Jetpeg cung cấp nhiều thư viện như vậy và lý do chúng được cung cấp. Trước đó, tôi nghĩ mình phải nghiên cứu tất cả những điều này và biết cách sử dụng nó thật tốt để có được một công việc. Đó là một nhận thức tuyệt vời đối với tôi, một người luôn đau đầu khi ghi nhớ và sao chép. hướng dẫn. Và đặc biệt đối với Hilt, tôi đã nhận được rất nhiều sự giúp đỡ bằng cách giải thích những thông tin nâng cao, chẳng hạn như nguyên tắc SOLID và cách thức hoạt động của Hilt, những thông tin khó hiểu ngay cả sau khi đọc các tài liệu chính thức, một cách dễ hiểu. Trong tình huống này, tôi nghĩ mình nên thêm chú thích này hoặc phạm vi này, đồng thời chỉ tham khảo các mã mẫu của Code Lab và dán chúng, nhưng bây giờ tôi cảm thấy như mình đã nhận ra nguyên tắc nên tôi rất biết ơn. (phép cộng) Hơn nữa, thật tuyệt khi học cách viết mã kiểm tra, điều này không hề dễ dàng để tôi tự thực hiện (đặc biệt là Kiểm tra giao diện người dùng bằng Espresso), bằng cách thêm không chỉ kiến ​​trúc mà còn cả ứng dụng Kotlin kts và các phần xem trước thử nghiệm. Tôi sẽ áp dụng những gì tôi đã học được vào một dự án hiện có và biến nó thành của riêng mình!

    • frozencoder
      Giảng viên

      JI HUN LEE, cảm ơn đánh giá quý giá của bạn. Tôi cảm thấy như ý định bài giảng của mình đã được truyền tải tốt, vì vậy tôi cảm thấy được khen thưởng vì đã làm cho bài giảng trở nên khó :)

1.611.228 ₫

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!