伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁(yè) > IT資訊 > 軟件研發(fā) > 盤(pán)點(diǎn)6個(gè)方便實(shí)用的Android庫(kù)

盤(pán)點(diǎn)6個(gè)方便實(shí)用的Android庫(kù)

2017-03-22 17:00:32 | 來(lái)源:中培企業(yè)IT培訓(xùn)網(wǎng)

Android開(kāi)發(fā)是當(dāng)前互聯(lián)網(wǎng)行業(yè)的熱門(mén)領(lǐng)域,但是在開(kāi)發(fā)過(guò)程中我們會(huì)發(fā)現(xiàn)它有一個(gè)很大的弊端就是代碼重復(fù)很多,Android代碼需要和很多UI組件建立關(guān)系,后臺(tái)也需異步執(zhí)行很多操作,所以很容易就導(dǎo)致了“意大利面條”式代碼。為了解決以上問(wèn)題,保持代碼的清晰和可讀性,中培偉業(yè)《Android APP開(kāi)發(fā)架構(gòu)應(yīng)用實(shí)戰(zhàn)》培訓(xùn)專家隋老師在這里介紹了以下六個(gè)Android庫(kù)。

  1.Butter Knife

每訪問(wèn)一次視圖我們都需要獲取一次該視圖的對(duì)象實(shí)例,我們可以通過(guò)使用rootView.findViewById()方法將返回的對(duì)象轉(zhuǎn)換為正確的視圖類型。但是當(dāng)代碼建立起來(lái),之后你會(huì)發(fā)現(xiàn)這其中有很多相似的語(yǔ)句,尤其是在onCreate和onCreateView方法中。onCreate方法初始化所有,然后綁定偵聽(tīng)器,它需要把整個(gè)UI都綁在一起,所以UI元素越多,方法就會(huì)越長(zhǎng)。

除了將它們存儲(chǔ)在活動(dòng)的字段中,可以從布局中查找視圖,添加了一個(gè)匿名的內(nèi)部類作為偵聽(tīng)器來(lái)處理搜索命令之外,代碼中沒(méi)有其它功能。這時(shí),我們可以使用Butter Knife來(lái)簡(jiǎn)化代碼,視圖對(duì)象存儲(chǔ)在字段中,我們可以簡(jiǎn)單地向每個(gè)字段添加Butter Knife @BindView注釋

Buffer Knife主頁(yè)還有很多例子可供開(kāi)發(fā)人員參考,一般來(lái)說(shuō),只要你需要以編程方式來(lái)訪問(wèn)視圖元素,Butter Knife都會(huì)讓你的代碼變得簡(jiǎn)潔可讀。

 2.Ice Pick

很多Android應(yīng)用程序都會(huì)面臨同一個(gè)問(wèn)題,那就是活動(dòng)和片段生命周期的不正確處理。我們都知道這是Android代碼中不優(yōu)雅的部分,但是AndroidManifest文件中禁用橫向模式,當(dāng)用戶將設(shè)備側(cè)向移動(dòng)時(shí),應(yīng)用程序不會(huì)崩潰并非一個(gè)正確的解決方案:首先,因?yàn)樗雌饋?lái)有點(diǎn)蠢,其次,代碼不能正確處理的配置更改問(wèn)題仍會(huì)發(fā)生。所以,最關(guān)鍵的就是你要正確處理應(yīng)用程序組件的狀態(tài)和生命周期。

實(shí)現(xiàn)這一目標(biāo)的方式是將活動(dòng)中所有字段的內(nèi)容存儲(chǔ)到一個(gè)bundle中,然后由Android框架通過(guò)生命周期正確管理。

Ice Pick的出現(xiàn)簡(jiǎn)化了這一過(guò)程,它主要用于簡(jiǎn)化保存和恢復(fù)實(shí)例狀態(tài)的生命周期,我們不再需要一個(gè)一個(gè)的講所有變量保存到bundle中。下面進(jìn)行一個(gè)實(shí)例示范,我們需要記住最后一家公司和存儲(chǔ)庫(kù)搜索的組合。

  3.Dart and Henson

Extra是Android標(biāo)準(zhǔn)的組件之間(Activity/Fragment/Service等)傳遞數(shù)據(jù)的方式。Dart通過(guò)注解處理器在編譯階段生成一些代碼,幫助我們避免寫(xiě)入從一個(gè)活動(dòng)傳遞到另一個(gè)活動(dòng)的Intent Extras的所有鍵和檢查。它適用于Fragments。

4.Parceler

在安卓中要傳遞數(shù)據(jù)或者保存狀態(tài),對(duì)象需要實(shí)現(xiàn)Serializable或者Parcelable。與傳統(tǒng)的Serializable相比,Parcelable被認(rèn)為更快,因?yàn)樗鼪](méi)有反射的負(fù)擔(dān)(以及更少的內(nèi)存),因此更適合移動(dòng)app。

實(shí)現(xiàn)一個(gè)Parcelable需要做更多的工作。雖然Android Studio有一個(gè)自動(dòng)生成代碼的工具,但是每次class改變的時(shí)候都要重復(fù)這一步。而Parceler恰好可以解決這個(gè)問(wèn)題,它可以幫助你進(jìn)行對(duì)象序列化,幫助你傳遞任何對(duì)象作為Intent extra。

Parceler使用了一個(gè)注解處理器,因此首先需要應(yīng)用Android APT 插件,那樣你的IDE才能知道生成的類,而注解處理產(chǎn)生的代碼菜不會(huì)包含在apk中。另外,Icepick,Henson和Dart也能和諧地和Parceler一起玩。

 5.Timber

Timber是一個(gè)小的可擴(kuò)展的日志工具。通常,我們?cè)趯?xiě)代碼的時(shí)候都會(huì)不可避免的出現(xiàn)一些錯(cuò)誤,繼而導(dǎo)致應(yīng)用程序意外宕掉。這時(shí),我們需要重現(xiàn)它,才能解決問(wèn)題。如果你清楚重現(xiàn)的步驟,那么使用調(diào)試器就很方便,但是如果不清楚,也可以使用日志。

 6.Dagger and Dagger 2

Dagger2是一個(gè)Java和Android的依賴注入框架,使用依賴注入有哪些好處呢?使用類和被依賴的對(duì)象構(gòu)造分開(kāi),這樣如果我們需要改變被依賴類的構(gòu)造方法,不必改動(dòng)每一個(gè)使用類;對(duì)各種被依賴類的實(shí)例,可以只構(gòu)造一次;當(dāng)我們需要更換一種實(shí)現(xiàn)時(shí),只需要保證接口一致;利于單元測(cè)試,我們可以方便地mock依賴類的對(duì)象。

Dagger 1是由Square公司受到Guice啟發(fā)創(chuàng)建的,可以說(shuō)是Android上最流行的依賴注入框架,它在編譯的時(shí)候?qū)嵭薪壎ǎ瑫r(shí)也用到了反射機(jī)制。Dagger2是Dagger1的分支,由谷歌公司接手開(kāi)發(fā),相較于Dagger1,性能更好,更易于跟蹤測(cè)試。


標(biāo)簽: Android開(kāi)發(fā)
主站蜘蛛池模板: 狍和女人一级毛片在线看 | 亚洲色网址大全 | 伊人久久大香线蕉综合网站 | 日韩区欧美久久久无人区 | 国产一级片一区 | 久久久一区二区三区精品 | 97碰成人国产免费公开视频 | 麻豆国产VA免费精品高清在线 | 激情丁香综合 | 国产又色又爽又刺激在线观看 | 98版还珠格格免费观看 | 日本大片免a费观看视频+播放器 | 亚洲欧美另类久久久精品2019 | 亚洲伊人久久大香线蕉结合 | 无码人妻毛片丰满熟妇区毛片国产 | 亚洲国产婷婷香蕉久久久久久 | 中文成人无字幕乱码精品区 | 久久久久久久久亚洲精品 | 亚洲一区日韩欧美 | 日本午夜网站 | 国内自拍真实伦在线观看 | 欧美日韩不卡在线观看 | www.久久网 | 国产高潮流白浆啊免费A片动态 | 日韩精品一页 | 久久久最新 | 国产热の有码热の无码视频 | 中国日本在线视频中文字幕 | 亚洲综合精品一区二区 | 免费视频日韩 | 兔兔精品国产乱码久久久久 | 日本污ww视频网站 | 国产偷v国产偷v亚洲 | 亚洲操操 | 一区二区三区四区在线视频 | 桃色av网站 | 欧美污视频 | 成人在线播放 | 欧美一区二区三区高清视频 | 国产1级视频 | 国产91导航 |