成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2016 Android Top 10 Library

開發 開發工具
今天,給大家整理了一篇個人認為在2016年對Android開發有巨大幫助的,甚至改變了 Android 開發方式的開源庫。

過去的 2016 年,開源社區異常活躍,很多個人與公司爭相開源自己的項目,讓人眼花繚亂,然而有些項目只是曇花一現,有些項目卻持久創造價值,為開發者提供了極大的便利,這些終究由時間來判斷。今天,我就來整理一篇,我個人認為的 2016 年對 Android 開發有巨大幫助的,甚至改變了 Android 開發方式的開源庫,但是,僅限個人認為,不具有任何權威性。

[[182016]]

1. RxJava

地址:https://github.com/ReactiveX/RxJava

2016 年 Android 界最火的莫過于 RxJava 了,如果你還不知道 RxJava,你所在公司,或者你所在的項目還沒有使用 RxJava,那真的是有點 out 了,RxJava 不僅大大簡化了代碼,甚至可以說改變了我們的開發方式。

RxJava 是一種函數式、響應式的異步操作庫,它讓你的代碼更加簡潔,真正的讓你的代碼寫到爽!由于 RxJava 用過的都說好,基于此,GitHub 上衍生了一堆比如 RxAndroid、RxBus、RxPermission 等之類的開源庫,足以說明它的影響力。

關于 RxJava 的文章網上一大堆,它的使用方法與好處我就不多說了,請自行去搜索了解,總之,身為 Android 開發者,到現在你還不知道 RxJava,簡直了!

2. Retrofit

地址:https://github.com/square/retrofit

如果有人問我,Android 界***用的網絡請求庫是什么?在之前可能會有人回答 android-async-http、Volley、OkHttp(準確說,OkHttp 是一個 http 請求客戶端) 之類的,但是 16 年過后,我會告訴你 Retrofit 是***用的網絡請求庫。

Retrofit 完全 RESTful 風格的 api 網絡請求庫,解耦更徹底,源碼設計超多的設計模式,值得大家學習,另外擴展性非常好,支持各種配置來滿足你的需求,最最重要的是,如果你的項目使用了 RxJava,那么 Retrofit 可以***結合,我只能說 Prefect!再次驗證了那句話:Square 出品,必屬精品!

3. EventBus

地址:https://github.com/greenrobot/EventBus

試想這么一個場景,在 A 頁面打開 B 頁面,然后 B 頁面打開了 C 頁面,C頁面又打開了D頁面,而且還需要傳遞參數,在D頁面修改了一些信息,然后這些信息更新之后,A、B、C頁面很可能都需要對應的進行數據更新,碰到這種需求該怎么處理?

有人說用 startActivityForResult(),你可以試下,有多么難處理,還有人想到用廣播,這個當然可以,因為廣播是全局的,主要進行注冊都可以通知到每一個頁面,但是我很不喜歡用廣播,每次用廣播都要走那一套流程,很麻煩,而且很重。

而如果你知道 Eventbus,那么一切都非常的簡單。

EventBus 是一個事件管理平臺,以事件驅動的方式來簡化事件傳遞邏輯,可以把它想象成輕量級的 BroadcastReceiver,不過,EventBus 并不是 16 年才開始進入大眾視野的,很早就開源了,只是這個庫太實用了,時至今日,它仍然很火,使用起來非常方便。

值得注意的是:EventBus 固然好用,但是不要過度使用,因為一旦你的代碼大量使用 EventBus,會致使代碼可讀性稍差,而且出了問題不太好定位。所以建議只在特定的場景使用,切莫貪杯!

4. Glide、Fresco

圖片加載可能跟網絡請求一樣,基本是所有 App 開發必備的功能,選擇一款成熟穩定的圖片加載庫重要性不言而喻,目前主流的圖片加載有 Picasso、Glide、Fresco,Glide 是 Google 員工基于 Picasso 基礎上進行開發的,所以自然各方面比 Picasso 更有優勢,而且支持 Gif,所以推薦大家優先選擇 Glide 庫,官方地址:

https://github.com/bumptech/glide

如果你的項目需要大量使用圖片,比如是類似 Instagram 一類的圖片社交 App ,那么推薦使用 Fresco。Fresco 是 Facebook 作品,關于內存的占用優化更好,但是同時包也更大,門檻也更高,初級工程師不建議使用。官方地址:

https://github.com/facebook/fresco

這兩款圖片加載庫,基本算是在 16 年使用最多,被認可***的兩個圖片加載庫了。

5. LeakCanary

地址:https://github.com/square/leakcanary

開發者最關心的除了完成功能外,其次就是會不會造成內存泄露了,其實檢測內存泄露在 Java 領域有很多種方法與工具,但是針對 Android 都不夠方便,而良心公司 Square 開源了一款針對 Android 平臺的內存泄露檢測工具 LeakCanary,集成簡單,使用方便,平時測試的過程中就自動記錄了內存泄露的位置,甚至幫你定位到代碼級別,強烈推薦。

 6. ButterKnife

地址:https://github.com/JakeWharton/butterknife

我想應該沒有人沒聽過這個庫了吧?ButterKnife 是 Android 之神 JakeWharton 的大作,已經開源了很長時間,然而在 2016 年它的使用熱度依然不減,它可以讓你避免無休止的 findViewById() 代碼,具體用法我就不多說了,使用起來比較簡單。

7. Realm

地址:https://realm.io/

說到 Realm 不得不提到一個 ORM 的概念。何為 ORM 呢?ORM 是 Object Relation Mapping 的縮寫,翻譯過來就是對象關系映射。這是相對于數據庫的,我們知道 Android 中使用的數據庫是 SQLite,而且 Android SDK 自帶操作數據庫的接口,而實際我們在使用的過程往往需要把查詢的數據轉換到一個 Java Object,也就是所謂的 Model,比如一般是這樣:

查詢的數據轉換到一個 Java Object

操作起來是不是很麻煩?而且可讀性超差,而有了 ORM 我們寫代碼可能會是類似這樣:

查詢數據是這樣:

查詢數據

是不是非常方便?代碼寫起來更像是面向對象,而不是一個個的裸寫 SQL 了,這就是所謂的 ORM。

而 Android 界的 ORM 框架有很多,比如 GreeDao、SugarORM、ActiveAndroid 等等,但是我推薦大家的 ORM 框架以上都不是,是叫做 Realm。

Realm 是一種面向移動端的新型輕量數據庫,而且是開源的,跟 SQLite 完全不一樣,性能上秒殺 SQLite,支持 Java、Android、iOS 各平臺,我們在實際項目中采用過,體驗下來各方面都很不錯,所以推薦大家嘗試下 Realm。

8. Dagger 2

地址:https://github.com/google/dagger

依賴注入的概念估計大家都聽過,不理解的不妨搜索了解下,Android 領域比較著名的依賴注入庫莫過于 Dagger 了,基于注解,使用起來異常方便。

Dagger 起初是 Square 開源的,后來 Google 在此技術上進行了改進與優化,去除了反射,編譯時進行依賴注入,性能上有大幅提升,取名 Dagger 2,Square 之前開源的 Dagger 已不建議使用。其實之前大家對 Dagger 的關注程度沒有那么高,一般都是屬于中、高級工程師才會關注使用,但是 16 年 Android 的架構被提上日程,各種 MVP、MVVM、Clean 架構等討論的較多,而 Dagger 作為承載這些架構重要的一環被越來越多的開發者使用,所以 16 年我們看到 Dagger 的身影越來越多,所以,Dagger 被我列為 16 年還算是比較火,比較實用的 Top 10 Android Library。

9. android-architecture

地址:https://github.com/googlesamples/android-architecture

上面說了,16 年 Android 架構被越來越多的開發者關注,國內外關于架構的探討比較活躍,大家熟知的 MVC、MVP、MVVM、Clean 等,就在大家爭執哪個更好,Android 開發到底該怎樣架構的時候,Google 開源了一個 Android 架構的官方指導,涉及 mvp、mvp-loaders、databinding、mvp-clean、mvp-dagger、mvp-contentproviders、mvp-rxjava 等,分別在各自指定的分支下,有非常大的參考意義,可以算是 Android 界的一大步。

10. awesome-android-ui

地址:https://github.com/wasabeef/awesome-android-ui

Android 開發中除了我們以上用到的各種實用庫之外,我們往往還會涉及到各種 UI 效果的實現,對于移動開發,界面開發其中是很重要的一環,而 16 年針對 Android 開發有人開源整理了這么一個庫,里面網羅了所有你見過的、沒見過的各種 UI 效果,涉及 Material、Layout、Button、List、ViewPager、Dialog、Menu、Parallax、Progress 等等,而且有相對應的截圖、gif 展示,以后應對設計師各種效果的時候有很大的參考幫助作用。

【本文為51CTO專欄作者“stormzhang”原創稿件,轉載請聯系原作者(微信公眾號:googdev)】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2020-03-02 00:52:04

OWASP軟件安全漏洞

2009-06-16 10:38:56

2017-12-06 15:27:21

IntelliJ插件Grep Consol

2012-04-17 10:54:12

軟件

2024-11-13 16:19:12

2023-03-01 15:48:12

2023-03-01 10:54:37

2023-01-09 10:36:38

2020-01-06 09:48:31

Python編程語言代碼

2018-11-14 10:36:47

Python 開發編程語言

2024-03-14 13:46:41

深度學習人工智能

2017-04-25 10:57:16

宜人貸

2019-08-02 09:26:24

深度學習框架排行榜

2015-08-27 16:15:26

Windwos 10特性

2009-04-15 08:40:04

2013-01-06 09:41:41

軟件即服務SaaSPaaS

2021-10-20 11:56:35

勒索軟件攻擊數據泄露

2021-08-17 08:51:38

機器學習人工智能

2021-04-23 09:50:41

topLinux命令

2023-05-17 16:02:00

CSS工具代碼生成器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人一区二区 | 免费精品一区 | 日本黄色片免费在线观看 | 国产精品亚洲精品日韩已方 | 激情六月天 | 四虎永久免费黄色影片 | 中文字幕成人网 | 国产1区2区3区 | 激情婷婷 | 亚洲日日操 | 日韩欧美在线视频一区 | 亚洲精品免费观看 | 欧美一级免费观看 | 国产一区二区三区在线看 | 在线观看免费av网站 | 日本一二三区在线观看 | 日韩一区二区在线视频 | 日韩成人在线播放 | 一本一道久久a久久精品蜜桃 | 99热这里有精品 | 欧美一区二区三区在线看 | 美日韩视频 | 99精品国产一区二区三区 | 人人干人人干人人 | 欧美aⅴ| 国产在线中文字幕 | 国产精品成人一区二区三区夜夜夜 | av在线一区二区 | 色吧久久| 一区二区视频 | www.久草| 中文一级片 | 亚洲 欧美 日韩 精品 | 国产最新网址 | 综合久久久久久久 | 中文字幕亚洲欧美日韩在线不卡 | 亚洲午夜视频 | 久久天天综合 | 亚洲免费视频网站 | 久久成人午夜 | 国产精品视频一区二区三区四蜜臂 |