最近很多行業(yè)人士都反應(yīng)Android的就業(yè)越來越不容樂觀恃锉,實(shí)際上并非如此搀菩,只是看你掌握的知識(shí)層面是否能夠跟隨社會(huì)的進(jìn)步而已。
很多Android開發(fā)人員找不見工作破托,當(dāng)然更別說找到高薪的滿意工作了肪跋,就是由于你所知道的那點(diǎn)開發(fā)只是基礎(chǔ)中的基礎(chǔ),或者是幾年工作經(jīng)驗(yàn)下來還是碼農(nóng)土砂,遇到點(diǎn)兒問題只會(huì)度娘不會(huì)自己摸索解決州既。Android經(jīng)過九年的發(fā)展,現(xiàn)在已經(jīng)相當(dāng)成熟了萝映,其占據(jù)的市場份額就知道其地位如何吴叶,除了Android手機(jī)和平板,越來越多的智能設(shè)備開始搭載Android系統(tǒng)序臂,涉及到的可不僅僅只是一些簡單的app開發(fā)了蚌卤。就算給你一個(gè)崗位,你是否都勝任其對應(yīng)的開發(fā)工作任務(wù)呢奥秆?
今天就來分享一些Android開發(fā)的框架技術(shù)吧造寝,當(dāng)然有很多人說很多都接觸過啊,但是你懂其中的原理么吭练?一般高薪的Android資深或高級工程師诫龙,基本都能很好的掌握這些框架技術(shù)。閑話不多說鲫咽,開始干貨分享签赃,附帶框架源碼鏈接,可以直接拿去研究和使用分尸。
1. 緩存
DiskLruCache
Java實(shí)現(xiàn)基于LRU的磁盤緩存
https://github.com/JakeWharton/DiskLruCache
2.圖片加載
Android Universal Image Loader
一個(gè)強(qiáng)大的加載锦聊,緩存,展示圖片的庫
https://github.com/nostra13/Android-Universal-Image-Loader
Picasso
一個(gè)強(qiáng)大的圖片下載與緩存的庫
https://github.com/square/picasso
Fresco
一個(gè)用于管理圖像和他們使用的內(nèi)存的庫
https://github.com/facebook/fresco
Glide
一個(gè)圖片加載和緩存的庫
https://github.com/bumptech/glide
3. 圖片處理
Picasso-transformations
一個(gè)為Picasso提供多種圖片變換的庫
https://github.com/wasabeef/picasso-transformations
Glide-transformations
一個(gè)為Glide提供多種圖片變換的庫
https://github.com/wasabeef/glide-transformations
Android-gpuimage
基于OpenGL的Android過濾器
https://github.com/CyberAgent/android-gpuimage
4. 網(wǎng)絡(luò)請求
Android Async HTTP
Android異步HTTP庫
https://github.com/loopj/android-async-http
AndroidAsync
異步Socket箩绍,HTTP(客戶端+服務(wù)器)孔庭,WebSocket,和socket.io庫材蛛≡驳剑基于NIO而不是線程
https://github.com/koush/AndroidAsync
OkHttp
一個(gè)Http與Http/2的客戶端
https://github.com/square/okhttp
Retrofit
類型安全的Http客戶端
https://github.com/square/retrofit
Volley
Google推出的Android異步網(wǎng)絡(luò)請求框架和圖片加載框架
https://android.googlesource.com/platform/frameworks/volley
5. 網(wǎng)絡(luò)解析
Gson
一個(gè)Java序列化/反序列化庫,可以將JSON和java對象互相轉(zhuǎn)換
https://github.com/google/gson
Jackson
Jackson可以輕松地將Java對象轉(zhuǎn)換成json對象和xml文檔卑吭,同樣也可以將json芽淡、xml轉(zhuǎn)換成Java對象
https://github.com/codehaus/jackson
Fastjson
Java上一個(gè)快速的JSON解析器/生成器
https://github.com/alibaba/fastjson
HtmlPaser
一種用來解析單個(gè)獨(dú)立html或嵌套html的方式
https://sourceforge.net/projects/htmlparser
Jsoup
一個(gè)以最好的DOM,CSS和jQuery解析html的庫
6. 數(shù)據(jù)庫
OrmLite
JDBC和Android的輕量級ORM java包
https://sourceforge.net/projects/ormlite/files/releases/com/j256/ormlite
Sugar
用超級簡單的方法處理Android數(shù)據(jù)庫
https://github.com/satyan/sugar
GreenDAO
一種輕快地將對象映射到SQLite數(shù)據(jù)庫的ORM解決方案
https://github.com/greenrobot/greenDAO
ActiveAndroid
以活動(dòng)記錄方式為Android SQLite提供持久化
https://github.com/pardom/ActiveAndroid
SQLBrite
SQLiteOpenHelper 和ContentResolver的輕量級包裝
https://github.com/square/sqlbrite
Realm
移動(dòng)數(shù)據(jù)庫:一個(gè)SQLite和ORM的替換品
7. 依賴注入
ButterKnife
將Android視圖和回調(diào)方法綁定到字段和方法上
https://github.com/JakeWharton/butterknife
Dagger2
一個(gè)Android和java快速依賴注射器
https://github.com/google/dagger
AndroidAnotations
快速安卓開發(fā)豆赏。易于維護(hù)
https://github.com/androidannotations/androidannotations
RoboGuice
Android平臺(tái)的Google Guice
https://github.com/roboguice/roboguice
8. 圖表
WilliamChart
創(chuàng)建圖表的Android庫
https://github.com/diogobernardino/WilliamChart
HelloCharts
兼容到API8的Android圖表庫
https://github.com/lecho/hellocharts-android
MPAndroidChart
一個(gè)強(qiáng)大的Android圖表視圖/圖形庫
https://github.com/PhilJay/MPAndroidChart
9. 后臺(tái)處理
Tape
一個(gè)輕快的挣菲,事務(wù)性的富稻,基于文件的FIFO的庫
https://github.com/square/tape
Android Priority Job Queue
一個(gè)專門為Android輕松調(diào)度任務(wù)的工作隊(duì)列
https://github.com/yigit/android-priority-jobqueue
10. 事件總線
EventBus
安卓優(yōu)化的事件總線,簡化了活動(dòng)白胀、片段椭赋、線程、服務(wù)等的通信
https://github.com/greenrobot/EventBus
Otto
一個(gè)基于Guava的增強(qiáng)的事件總線
https://github.com/square/otto
11. 響應(yīng)式編程
RxJava
JVM上的響應(yīng)式擴(kuò)展
https://github.com/ReactiveX/RxJava
RxJavaJoins
為RxJava提供Joins操作
https://github.com/ReactiveX/RxJavaJoins
RxAndroid
Android上的響應(yīng)式擴(kuò)展或杠,在RxJava基礎(chǔ)上添加了Android線程調(diào)度
https://github.com/ReactiveX/RxAndroid
RxBinding
提供用RxJava綁定Android UI的API
https://github.com/JakeWharton/RxBinding
Agera
Android上的響應(yīng)式編程
https://github.com/google/agera
12. Log框架
Logger
簡單纹份,漂亮,強(qiáng)大的Android日志工具
https://github.com/orhanobut/logger
Hugo
在調(diào)試版本上注解的觸發(fā)方法進(jìn)行日志記錄
https://github.com/JakeWharton/hugo
Timber
一個(gè)小的廷痘,可擴(kuò)展的日志工具
https://github.com/JakeWharton/timber
13. 測試框架
Mockito
Java編寫的Mocking單元測試框架
https://github.com/mockito/mockito
Robotium
Android UI 測試
https://github.com/RobotiumTech/robotium
Robolectric
Android單元測試框架
https://github.com/robolectric/robolectric
另外Android還自帶很多測試工具蔓涧,如JUnit,Monkeyrunner笋额,UiAutomator元暴,Espresso等。
14. 調(diào)試框架
Stetho
調(diào)試Android應(yīng)用的橋梁兄猩,使得可以利用Chrome開發(fā)者工具進(jìn)行調(diào)試
https://github.com/facebook/stetho
15. 性能優(yōu)化
LeakCanary
內(nèi)存泄漏檢測工具
https://github.com/square/leakcanary
ACRAAndroid
應(yīng)用程序崩潰報(bào)告
今天就先分享到這里茉盏,后續(xù)將推出更多精彩內(nèi)容,歡迎一起探討學(xué)習(xí)進(jìn)步枢冤。
此文章為分享達(dá)人秀——鑫鱻著作鸠姨,若轉(zhuǎn)載請備注出處,特此聲明淹真!