Trong bài viết về phong cách xây dựng MVP vào Android, bản thân đã từng có lần reviews thỏng viện Dragger2, một thư viện Dependency Injection trẻ trung và tràn trề sức khỏe với có lợi giành cho cách tân và phát triển Android. Bài viết này bản thân đã share phương pháp thực hiện Dagger 2 trong Android, siêu siêu cơ bạn dạng nhằm các bạn mới cũng rất có thể hiểu với vận dụng được.

Bạn đang xem: Dagger là gì

Trước đây lúc mình mới học lập trình sẵn, mình cũng bắt đầu khám phá về phép tắc viết clean code SOLID. Thực sự nó làm cho mình tẩu hỏa nhập ma cùng với một loạt định nghĩa như: Dependency Injection, Provider, Component, Module, Scope

Do vậy, mình đã từ bỏ hứa cùng với bản thân rằng khi nào mình đã làm rõ về quy tắc này thì nhanh chóng cần làm ngay một nội dung bài viết để chia sẻ lại mang đến hầu như fan (cũng vừa góp bản thân ghi nhớ lại).

Và đây là một trong những phần trong chiến lược kia, một nội dung bài viết về Dagger 2, một thư viện cung ứng các bạn tiến hành chế độ Dependency Injection( một phần vào triết lý SOLID).


Note: Bài viết tìm hiểu Dagger này chỉ dành riêng cho chúng ta bắt đầu học thiết kế thôi nhé! Hay đầy đủ bạn đang bắt đầu tiếp cận cùng với bề ngoài viết code clean SOLID. Những định nghĩa, bí quyết tiếp cận vào bài viết này khôn cùng cơ phiên bản, phần nhiều kỹ năng và kiến thức tối thiểu cần phải biết để trở thành developer chuyên nghiệp. Mình xin lỗi các bậc chi phí bối nếu bao gồm múa rìu qua đôi mắt thợ nhé!
*
Tìm đọc dagger Dagger 2 trong Android

Nội dung chủ yếu của bài viết

Tìm hiểu Dagger 2 trong Android#Xây dựng MagicBox

Tìm đọc Dagger 2 vào Android

#Khởi chế tác dự án Android

Trước khi chúng ta ban đầu phát âm nội dung bài viết này, các bạn đang nghe biết các khái niệm nlỗi Function, Class và Member Variables rồi đúng không?

Và các bạn cũng biết cách sản xuất một dự án công trình trong Android Studio rồi chứ? Thậm chí Android Studio hiện thời còn hỗ trợ sinh sản dự án công trình với hồ hết tính năng cơ bản mà lại chúng ta không nhất thiết phải nhúng tay code.

Tuy nhiên, để tiện thể theo dõi và quan sát, họ sẽ tạo nên một dự án với 1 Empty Activity. Sau đó thêm một TextView.

Và đây là code của MainActivity:

class MainActivity : AppCompatActivity() val info = Info() override fun onCreate(savedInstanceState: Bundle?) super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) text_view.text = info.text class Info val text = "Hello Dagger 2"

#Chuyển Class Info thoát khỏi Activity…

Trong những dự án công trình thực tiễn, mình không những tất cả từng một đổi thay info như thế tê. Trong khi, đọc tin Info mình còn muốn share giữa những Activity với nhau nữa.

Xem thêm: Phim Quý Cô Ưu Tú - Xem Tập 1 Vietsub + Thuyết Minh Full Hd

Nếu chúng ta khởi tạo ra Info vào MainActivity đang tạo cho code ko được clean. Việc thừa kế code vẫn trsinh hoạt đề nghị trở ngại hơn.

Do đó, nuốm bởi vì bọn họ tạo một class Info trong MainActivity. Mình ý muốn lên tiếng ( và các trở thành viên khác nữa) được tạo ra ở một nơi không giống.

quý khách hàng gồm biết hành động này call là gì không? Đó đó là Dependencies Injection.

*

Trong thời điểm này code của họ thế vày khỏi chế tạo với quan niệm Info bên trong MainActivity. Chúng ta vẫn truyền Info vào.

Xem thêm: Chứng Bệnh Cam Là Gì ? 10 Dấu Hiệu Phân Biệt Cảm Cúm Với Cảm Lạnh

class MainActivity(val info:Info) : AppCompatActivity()Ồ! Có gì đó không đúng sai trong đoạn code bên trên. Bên cạnh đó Android ko được cho phép truyền tsi số vào MainActivity. Vậy đề nghị làm sao đây?

Nếu bạn bao gồm kinh nghiệm tay nghề xây dựng Android thì bạn sẽ nghĩ về mang lại class Application. Chúng ta đang truyền ttê mê số cho MainActivity từ bỏ class Application. Tuy nhiên, ở đây bọn họ ko làm nỗ lực, chúng ta đang thực hiện Dagger2.