Dagger2神器入門(一)

前言

網(wǎng)上隨便搜索一下Dragger2奕扣,一大堆文章鋪天蓋地而來,一上來就講@Inject扁达,@Module等注解是做什么的正卧,解釋一大堆,看完之后一臉懵逼跪解。對于剛剛?cè)腴TDagger的同學(xué)們來講炉旷,這樣的文章只會讓你覺得生無可戀,看完之后還是不知道怎么使用叉讥?

對于新的知識窘行,我們首先要知道的是它是做什么的?能達到什么效果图仓?然后自己寫一個demo去玩玩罐盔,待你能夠簡單使用之后再去看看這些文章,這樣對自己的信心能很大提高救崔。而不是一上來就看一大堆的注解和注解相關(guān)的內(nèi)容惶看,這樣繞著繞著,就把自己繞暈了六孵。

針對這樣的一個詬病纬黎,我總結(jié)出來了Dragger相關(guān)的知識,供大家參考劫窒。

首先本今,如果想要學(xué)好dagger,就必須要了解什么是“依賴注入”主巍,因為dagger2是實現(xiàn)依賴注入的一個框架冠息。
然后,我們通過demo煤禽,一步一步的通過代碼來理解如何創(chuàng)造神一樣的效果铐达;
最后,在我們了解了如何使用之后檬果,就應(yīng)該了解一下原理了,apt、對象關(guān)系圖等等选脊。

當(dāng)然杭抠,對于大部分人來講,知道如何使用就可以了恳啥,但是如果你想讓自己在面試中一騎絕塵偏灿,如果你想不斷提高自身技術(shù)水平的話,那就follow me钝的,讓我們一起牛逼吧~~

學(xué)完dagger之后翁垂,你會發(fā)現(xiàn)像ButterKnife之類的apt框架,都有相似之處硝桩,學(xué)起來刷刷的沿猜;

從這系列文章中,你不但能夠?qū)W到Dagger相關(guān)的編程知識碗脊,還能學(xué)習(xí)到程序員最核心的競爭力啼肩,學(xué)習(xí)力。試想衙伶,你是愿意得到一條魚呢還是學(xué)習(xí)釣魚的方法呢祈坠?這系列文章,不但給你當(dāng)下想要的魚矢劲,解決燃眉之急赦拘;而且還能讓你長期有魚吃,何樂不為芬沉?

說了這么多另绩,那讓我們來一趟dagger之旅吧。希望通過這系列文章花嘶,讓大家能夠收獲良多笋籽。

依賴注入

what?依賴注入是什么東東椭员?現(xiàn)在假設(shè)這是你的盲點车海,通過第一反應(yīng)去解釋一些"依賴注入"。依賴:需要你隘击,need you侍芝。注入:給你。連接起來的意思就是:給你需要的埋同,give you what you need州叠。比如,你要去上班凶赁,怎么去呢咧栗?開車去逆甜,那么可以說你依賴于車;但是你現(xiàn)在沒有車致板,于是你老爸給你買了一輛保時捷(有這樣的老爸還上班做啥交煞?),給你上班所需要的車斟或,這就是注入素征。連接起來就是典型的依賴注入。不懂萝挤?那我們通過代碼的來擼一擼御毅。

//定義一輛車
public class Car {
}  
//定義一個人,這個人需要一輛車怜珍。
public class Person {
    Car car;

    public Person(Car car) {
      this.car = car;
      }
}

上面這種是在構(gòu)造Person的時候就注入了Car端蛆,因為Person一來Car,而構(gòu)造器正好可以注入Car绘面。因此這是依賴注入的一種方式欺税,除了通過構(gòu)造器注入(傳參)之外,我們還有什么方式呢揭璃?沒錯晚凿,set方法。

 public class Person {
    Car car;

 public Person(Car car) {
    this.car = car;
  }
//通過set方法將Car注入到Person類中
public void setCar(Car car){
    this.car = car;
  }
}

上面的代碼通過setter方法將Car注入到了Person類中瘦馍。當(dāng)然除了上面的幾種方式之外歼秽,還有其他的方式,如接口情组。這里只要明白依賴注入就是這么個意思就ok燥筷。

那么,我們的Dagger2能給我們帶來什么呢院崇?能達到什么效果呢肆氓?為什么要使用Dagger2呢?這一大堆問題我們將需要一個一個突破底瓣,弄懂一個問題之后谢揪,再進行下一個問題,不然捐凭,講完之后拨扶,會讓你云里霧里。這也是我堅持多年的學(xué)習(xí)習(xí)慣茁肠。

public class Person {
  // dagger2直接使用@Inject
    @Inject
    Car car;

  public Person(Car car) {
    this.car = car;
  }

  public void setCar(Car car){
    this.car = car;
  }
}

Dagger2 帶給我們的效果就是直接使用@Inject注解患民,達到初始化目的。神奇吧垦梆?待我們學(xué)完之后匹颤,再回過頭來回答為什么要使用Dagger2仅孩?和前面的注入方式相比,有什么好處惋嚎?
下面的我們將通過demo代碼形式來使用Dagger2杠氢,因為我們都是程序員敬拓,代碼勝過千言萬語~~

下一篇 Dagger2神器入門(二)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載者甲,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者扫腺。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市摆尝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌因悲,老刑警劉巖堕汞,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晃琳,居然都是意外死亡讯检,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門卫旱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來人灼,“玉大人,你說我怎么就攤上這事顾翼⊥斗牛” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵适贸,是天一觀的道長灸芳。 經(jīng)常有香客問我,道長拜姿,這世上最難降的妖魔是什么烙样? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮蕊肥,結(jié)果婚禮上谒获,老公的妹妹穿的比我還像新娘。我一直安慰自己晴埂,他們只是感情好究反,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著儒洛,像睡著了一般精耐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上琅锻,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天卦停,我揣著相機與錄音向胡,去河邊找鬼。 笑死惊完,一個胖子當(dāng)著我的面吹牛僵芹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播小槐,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼拇派,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凿跳?” 一聲冷哼從身側(cè)響起件豌,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎控嗜,沒想到半個月后茧彤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡疆栏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年曾掂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壁顶。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡珠洗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出博助,到底是詐尸還是另有隱情险污,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布富岳,位于F島的核電站蛔糯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏窖式。R本人自食惡果不足惜蚁飒,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望萝喘。 院中可真熱鬧淮逻,春花似錦、人聲如沸阁簸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽启妹。三九已至筛严,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間饶米,已是汗流浹背桨啃。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工车胡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人照瘾。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓匈棘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親析命。 傳聞我的和親對象是個殘疾皇子主卫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,498評論 25 707
  • 部分內(nèi)容參考自:[Android]使用Dagger 2依賴注入 - DI介紹(翻譯)[Android]使用Dagg...
    AItsuki閱讀 47,247評論 66 356
  • 文|峰語 不愿定義 不愿言語 不遠提筆 只怕世人不解 人談?wù)軐W(xué) 如魚談?wù)撍?飛鳥談?wù)撎炜?哲學(xué)中某個點的共鳴產(chǎn)生了...
    代峰語閱讀 334評論 1 3
  • 武義王宅項山頭村有一株樹齡500多年的玉蘭樹,樹高數(shù)十米碳却,胸徑須多人方能合抱队秩,驚蜇前開花笑旺,一時滿樹繁...
    大樟樹67閱讀 216評論 0 0
  • 我們使用canvas繪制一個方形的方法是ctx.rect(left, top, width, height);現(xiàn)在...
    王恩智閱讀 3,015評論 0 2