+3

[Android] Học cách tạo một ứng dụng tuyệt vời thông qua ví dụ

I, Lời mở đầu

  • Tạo ra một ứng dụng tuyệt vời luôn là mong muốn của cả developer và user.
  • Nếu bạn chịu khó tìm hiểu thì với những công cụ mới nhất hiện nay thì điều đó thật dễ dàng.
  • Sắp tới sẽ là hướng đi mới của bản thân thằng viết ra bài này.
  • Do đó, đây sẽ là bài viết tích luỹ nhiều component và nhiều thứ mà mình đã học được.
  • Có thể một số thữ bạn biết và một số thứ bạn không biết nhưng không sao, thường trong lập trình nên tự tìm tòi và mình cũng chỉ mong muốn đưa cho bạn một hướng đi mà thôi.
  • Học đi đôi với hành, các bạn hãy download project của mình ở đây nha: https://github.com/fs-sournary/Android-architecture-component

II, Demo

  • Trong project mình sẽ có sử dụng:

    • Architecture: MVVM (nếu có thể hãy tìm hiểu cả clean architecture).
    • Jepack component: LiveData, ViewModel, Lifecycle, Room, Navigation, Paging (bao gồm cả 3.0-snapshot), Kotlin-ktx, WorkManager, Material Component...
    • Handling async tasks: Coroutine (kết hợp Room, Retrofit).
    • Dependency injection: Koin (bạn cũng nên tìm hiểu về Dagger và hilt).
    • Window và single Activity principle: hai thứ này có quan hệ khá mật thiét với nhau.
    • Animation: ViewAnimation, Property Animation, Animated Vector, MotionLayout...
    • Language: Kotlin, XML, Markdown (md - thứ mà mình đang viết bài này và để viết file readme cho các bạn), RenderScript.
    • Other library: Retrofit, Glide...
  • Demo xử lý những trường hợp gì:

    • Fetch data from server and handle related use cases: refresh, retry...
    • Get data from database or preference.
    • Handle configuration change: rotation, input method...
    • App is killed because system need more resource.

III, Tư liệu tham khảo

  • Có rất nhiều tư liệu tham khảo trên internet nhưng hãy nhớ rằng không phải thứ gì cũng chính xác nhất là đối với Android bởi vì nó được update liên tục.
  • Vậy thế nào để có được kiến thức chính xác:
    • Level 1: Đầu tiên hãy sử dụng những tài liệu chính thống như Android document, Android developer channel, Github.
    • Level 2: có thể cũng đáng tin như Medium, MindOrks...nhưng đừng nên tin quá. Mình đã đọc những bài viết đã viết không đúng ý về một loại kiến thức nào đó.
    • Level 3: các trang mạng khác như StackOverflow...đọc rồi thì bắt buộc phải kiểm tra lại nhé.

IV, Tổng kết

  • Project này mình làm ra chỉ có mục đích chia sẻ những keyword để mọi người tìm hiểu và góp ý.
  • Trong lập trình, yêu lập trình và tự học là điều cần thiết nhất.
  • Dù ít ỏi nhưng mình sẽ cố gắng viết bài ở trang này: https://itlifelang.github.io/.
  • Cảm ơn mọi người đã ủng hộ cho mình trong suốt thời gian qua giúp mình có thêm động lực viết bài.
  • Chúc mọi người thành công trên con đường Android nói riêng và lập trình nói chung.

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí