Trong nội dung bài viết về phong cách xây dựng MVPhường trong Android, bản thân đã có lần reviews thư viện Dragger2, một thư viện Dependency Injection khỏe mạnh và có ích giành riêng cho phát triển Android. Bài viết này bản thân vẫn share cách sử dụng Dagger 2 vào Android, cực kỳ hết sức cơ phiên bản nhằm chúng ta mới cũng rất có thể đọc và áp dụng được.

Bạn đang xem: Sử dụng dagger 2 cho sự phụ thuộc trên android

Trước trên đây Khi mình bắt đầu học tập lập trình sẵn, mình cũng bước đầu mày mò về phép tắc viết clean code SOLID. Thực sự nó làm mình tẩu hỏa nhập ma với 1 loạt tư tưởng như: Dependency Injection, Provider, Component, Module, Scope

Do vậy, tôi đã từ hứa hẹn cùng với phiên bản thân rằng lúc nào tôi đã làm rõ về luật lệ này thì nhanh chóng đề nghị làm cho tức thì một nội dung bài viết để chia sẻ lại mang lại những bạn (cũng vừa giúp bản thân ghi ghi nhớ lại).

Và đó là một trong những phần trong planer kia, một nội dung bài viết về Dagger 2, một thỏng viện cung ứng bạn thực hiện cơ chế Dependency Injection( 1 phần trong triết lý SOLID).


Note: Bài viết tò mò Dagger này chỉ dành riêng cho các bạn mới học tập xây dựng thôi nhé! Hay mọi bạn đang bước đầu tiếp cận cùng với lý lẽ viết code clean SOLID. Những quan niệm, cách tiếp cận trong bài viết này rất cơ phiên bản, đa số kỹ năng về tối tphát âm cần phải biết để biến hóa developer bài bản. Mình xin lỗi các bậc chi phí bối giả dụ có múa rìu qua đôi mắt thợ nhé!
*
Tìm đọc dagger Dagger 2 vào 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 phát âm Dagger 2 vào Android

#Khởi sinh sản dự án Android

Trước khi bạn ban đầu gọi nội dung bài viết này, bạn sẽ biết đến các khái niệm nhỏng Function, Class cùng Member Variables rồi đúng không?

Và bạn cũng biết cách tạo ra một dự án công trình trong Android Studio rồi chứ? Thậm chí Android Studio bây chừ còn cung ứng sinh sản dự án cùng với rất nhiều nhân kiệt cơ bản mà lại các bạn không nhất thiết phải nhúng tay code.

Tuy nhiên, nhằm một thể quan sát và theo dõi, bọn họ sẽ tạo nên một dự án công trình với một 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 ra khỏi Activity…

Trong những dự án thực tiễn, bản thân không những tất cả từng một thay đổi info như thế tê. Bên cạnh đó, đọc tin Info bản thân còn muốn share thân các Activity cùng nhau nữa.

Nếu họ khởi chế tác Info vào MainActivity đã tạo nên code ko được clean. Việc thừa kế code sẽ trlàm việc nên trở ngại hơn.

Do kia, vậy bởi vì chúng ta chế tạo ra một class Info trong MainActivity. Mình mong ban bố ( và các biến thành viên không giống nữa) được chế tạo ở 1 địa điểm không giống.

quý khách có biết hành vi này Hotline là gì không? Đó chính là Dependencies Injection.

*

Hiện giờ code của bọn họ rứa vị ngoài tạo ra và có mang Info bên phía trong MainActivity. Chúng ta sẽ truyền Info vào.

Xem thêm: Về Việc Chi Phí Chung Là Gì ? + Phương Chi Phí Chung Gồm Những Chi Phí Gì

class MainActivity(val info:Info) : AppCompatActivity()Ồ! Có gì đấy sai không đúng trong khúc code trên. Hình như Android không được cho phép truyền tsay mê số vào MainActivity. Vậy cần làm thế nào đây?

Nếu bạn gồm kinh nghiệm tay nghề lập trình Android thì bạn sẽ nghĩ mang lại class Application. Chúng ta sẽ truyền ttê mê số cho MainActivity từ class Application. Tuy nhiên, ở đây họ không làm cho ráng, họ sẽ thực hiện Dagger2.