Android通用流行框架大全:
1.緩存:DiskLruCache拜轨。?Java實現(xiàn)基于LRU的磁盤緩存蚁署。
Github地址:https://github.com/JakeWharton/DiskLruCache
2.圖片加載:
Android Universal Image Loader。一個強大的加載,緩存呻右,展示圖片的庫哑子。
https://github.com/nostra13/Android-Universal-Image-Loader
Picasso舅列。一個強大的圖片下載與緩存的庫肌割。
https://github.com/square/picasso
Fresco。一個用于管理圖像和他們使用的內(nèi)存的庫帐要。
https://github.com/facebook/fresco
Glide把敞。 一個圖片加載和緩存的庫。
https://github.com/bumptech/glide
3.圖片處理榨惠。
Picasso-transformations先巴。一個為Picasso提供多種圖片變換的庫。
https://github.com/wasabeef/picasso-transformations
Glide-transformations冒冬。一個為Glide提供多種圖片變換的庫伸蚯。
https://github.com/wasabeef/glide-transformations
Android-gpuimage〖蚩荆基于OpenGL的Android過濾器剂邮。
https://github.com/CyberAgent/android-gpuimage
4.網(wǎng)絡請求。
Android Async HTTP横侦。Android異步HTTP庫挥萌。
https://github.com/loopj/android-async-http
AndroidAsync。異步Socket枉侧,HTTP(客戶端+服務器)引瀑,WebSocket,和socket.io庫榨馁,基于NIO而不是線程憨栽。
https://github.com/koush/AndroidAsync
OkHttp。一個Http與Http/2的客戶端翼虫。
https://github.com/square/okhttp
Retrofit屑柔。類型安全的Http客戶端。
https://github.com/square/retrofit
Volley珍剑。谷歌推出的Android異步網(wǎng)絡請求框架和圖片加載框架掸宛。
https://android.googlesource.com/platform/frameworks/volley
5.網(wǎng)絡解析。
Gson招拙。一個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上一個快速的JSON解析器/生成器。
https://github.com/alibaba/fastjson
HtmlPaser。一種用來解析單個獨立html或嵌套html的方式注祖。
https://sourceforge.net/projects/htmlparser/
Jsoup猾蒂。一個以最好的DOM,css和jquery解析html庫是晨。
6.數(shù)據(jù)庫肚菠。
OrmLite。JDBC和Android的輕量級ORM java包罩缴。
https://sourceforge.net/projects/ormlite/files/releases/com/j256/ormlite/
Suger蚊逢。用超級簡單的方法處理Android數(shù)據(jù)庫。
https://github.com/satyan/sugar
ActiveAndroid箫章。以活動記錄方式為Android SQLite提供持久化烙荷。
https://github.com/pardom/ActiveAndroid
7.依賴注入。
ButterKnife檬寂。將Android視圖和回調(diào)方法綁定到字段和方法上终抽。
https://github.com/JakeWharton/butterknife
Dagger2。一個Android和java快速依賴注射器桶至。
https://github.com/google/dagger
RoboGuice昼伴。Android平臺的Google Guice。
https://github.com/roboguice/roboguice
8.圖表镣屹。
MPAndroidChart圃郊。一個強大的Android圖表視圖/圖形庫。
https://github.com/PhilJay/MPAndroidChart
9.后臺處理女蜈。
Tape持舆。一個輕快的,事務性的鞭光,基于文件的FIFO的庫吏廉。
https://github.com/square/tape
Android Priority Job Queue泞遗。 一個專門為Android輕松調(diào)度任務的工作隊列惰许。
https://github.com/yigit/android-priority-jobqueue
10.事件總線。
EventBus史辙。Android優(yōu)化的事件總線汹买,簡化了活動、片段聊倔、線程晦毙、服務等的通信。
https://github.com/greenrobot/EventBus
Otto耙蔑。 一個基于Guava的增強的事件總線见妒。
https://github.com/square/otto
11.響應式編程。
RxJava甸陌。JVM上的響應式擴展须揣。
https://github.com/ReactiveX/RxJava
RxAndroid盐股。Android上的響應式擴展,在RxJava基礎(chǔ)上添加了Android線程調(diào)度耻卡。
https://github.com/ReactiveX/RxAndroid
RxBinding疯汁。提供用RxJava綁定的Android UI的API。
https://github.com/JakeWharton/RxBinding
Agera卵酪。Android上的響應式編程幌蚊。
12.Log框架。
Logger溃卡。簡單溢豆,漂亮,強大的Android日志工具瘸羡。
https://github.com/orhanobut/logger
Timber沫换。一個小的,可擴展的日志工具最铁。
https://github.com/JakeWharton/timber
13.測試框架讯赏。
Mockito。Java編寫的Mocking單元測試框架冷尉。
https://github.com/mockito/mockito
Robolectic漱挎。Android單元測試框架。
https://github.com/xtremelabs/robolectric
14.調(diào)試框架雀哨。
Stetho磕谅。調(diào)試Android應用的橋梁,使得可以利用Chrome開發(fā)者工具進行調(diào)試雾棺。
https://github.com/facebook/stetho
15.性能優(yōu)化膊夹。
LeakCanary。 內(nèi)存泄露檢測工具捌浩。
https://github.com/square/leakcanary
ACRA放刨。Android應用程序崩潰報告。
Java內(nèi)容:
1.?多線程操作: 圖書:Java并發(fā)編程實戰(zhàn)尸饺、Java編程思想
(1)?線程生命周期:創(chuàng)建(new)进统、就緒(runnable)、運行(running)浪听、阻塞(blocked)螟碎、死亡(dead)。
(2)?實現(xiàn)runnable接口和繼承thread的使用場景迹栓。
(3)?生命周期如何靈活運用掉分。
(4)?控制線程。優(yōu)先級、后臺線程酥郭、線程休眠尔崔、線程讓步。
(5)?線程并發(fā)褥民、線程池的使用季春、減少鎖的競爭、鎖機制及結(jié)構(gòu)化并發(fā)應用程序消返。
2.?JVM:圖書:深入理解java虛擬機
(1)?工作原理及特點载弄,運行過程。
(2)?JVM內(nèi)存管理撵颊、GC模型宇攻、如何編寫GC友好的代碼。
(3)自動內(nèi)存管理機制倡勇,Java內(nèi)存區(qū)域與內(nèi)存異常逞刷,Java堆溢出、虛擬機棧和本地方法棧溢出妻熊。
(4)?垃圾收集器與內(nèi)存分配策略夸浅,動態(tài)對象生命周期。
(5)?類加載機制扔役,類加載器帆喇,Java線程調(diào)度。
3.?設(shè)計模式:
常用設(shè)計模式:??圖書:大話設(shè)計模式
(1)?工廠模式亿胸,設(shè)計思想及如何靈活運用坯钦。
(2)?單例模式,設(shè)計思想靈活運用侈玄。
(3)?代理模式婉刀,設(shè)計思想及靈活運用。
Android內(nèi)容:
基礎(chǔ)知識:
(1)?AndroidStudio安裝序仙、運行第一個應用突颊。
(2)?四大組件。
Activity:
生命周期诱桂、4種啟動模式洋丐、task相關(guān)。
Service:
生命周期及兩種啟動方式挥等、本地服務和遠程服務、前臺服務和后臺服務堤尾、進程內(nèi)與服務通信肝劲。
Boardcastreceiver:
生命周期、特性、靜動注冊方式辞槐、普通及有序廣播掷漱。
ContentProvider:
Uri,ContentResolver榄檬、使用場景卜范。
(3)?布局文件內(nèi)容。
LinearLayout鹿榜、RelativeLayout海雪,布局文件嵌套。
(4)?友好交互學習舱殿。
Listview列表:
異步和動態(tài)加載奥裸、緩存與優(yōu)化。
Dialog提示:
ProgressDialog:
自定義進度提示框沪袭、網(wǎng)絡請求異常情況策略湾宙。
Notification:
通知類型、更新與移除通知冈绊、視覺風格侠鳄。
(5)?NDK:
JNI操作,運行及編譯過程死宣,如何做到編譯安全畦攘。
(6)?SDK:
SDK定義、如何開發(fā)并方便調(diào)用十电,安全因素有哪些知押。
(7)?android基本架構(gòu):
系統(tǒng)運行庫:程序庫、運行庫及Linux內(nèi)核操作鹃骂。
(8)?資源文件及manifest.xml結(jié)構(gòu)內(nèi)容:
資源文件分類及存儲台盯,權(quán)限設(shè)置及系統(tǒng)權(quán)限獲取。
(9)?多線程與通信:
多線程啟動方式及消息機制的熟練使用畏线、線程池的管理與操作静盅。
線程間通信handle及asyncTask掌握。
進程間通信aidl寝殴。
(10)?高級ui學習:
ViewGroup定義自己的View及ui展示蒿叠,設(shè)置自定義ViewGroup。
Fragment碎片及ViewPager導航蚣常、ViewFlipper市咽。
ActionBar定義菜單及自定義菜單。
(11)?網(wǎng)絡訪問:
HttpURLConnection:熟練使用抵蚊。
Socket通信:熟練使用施绎。