Android 快速開發框架:推薦10個框架:afinal、ThinkAndroid、andBase、KJFrameForAndroid、SmartAndroid、dhroid..

       對於Android初學者以及對於咱們菜鳥,這些大神們開發的輕量級框架很是有用(更別說開源的了)。html

       下面轉載這10個框架的介紹:(按順序來吧沒有什麼排名)。android

1、  Afinalgit

官方介紹:程序員

Afinal是一個android的ioc,orm框架,內置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。經過finalActivity,咱們能夠經過註解的方式進行綁定ui和事件。經過finalBitmap,咱們能夠方便的加載bitmap圖片,而無需考慮oom等問題。經過finalDB模塊,咱們一行代碼就能夠對android的sqlite數據庫進行增刪改查。經過FinalHttp模塊,咱們能夠以ajax形式請求http數據。詳情請經過如下網址查看。github

Afinal 是一個android的sqlite orm 和 ioc 框架。同時封裝了android中的http框架,使其更加簡單易用;web

使用finalBitmap,無需考慮bitmap在android中加載的時候oom的問題和快速滑動的時候圖片加載位置錯位等問題。ajax

Afinal的宗旨是簡潔,快速。約定大於配置的方式。儘可能一行代碼完成全部事情。spring

項目地址:https://github.com/yangfuhai/afinalsql

功能:數據庫

一個android的ioc,orm框架,內置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。經過finalActivity,咱們能夠經過註解的方式進行綁定ui和事件。經過finalBitmap,咱們能夠方便的加載bitmap圖片,而無需考慮oom等問題。經過finalDB模塊,咱們一行代碼就能夠對android的sqlite數據庫進行增刪改查。經過FinalHttp模塊,咱們能夠以ajax形式請求http數據。

優勢:功能比較全面,文檔完善,代碼效率比較高。

缺點:沒有項目demo,框架的時間比較久,代碼冗餘比較多(這也是無可避免的),文檔比較老跟不上代碼更新進度。

(這個評價是其餘高人評的,他本身也有寫了框架。我我的以爲之前Afinal算是經典了 用的人多)。

2、  xUtils

git地址:https://github.com/wyouflf/xUtils

xUtils:能夠說是Afinal的升級版。

xUtils 包含了不少實用的android工具。

xUtils 支持大文件上傳,更全面的http請求協議支持(10種謂詞),擁有更加靈活的ORM,更多的事件註解支持且不受混淆影響...

xUitls 最低兼容android 2.2 (api level 8)

 

3、  ThinkAndroid

項目地址:https://github.com/white-cat/ThinkAndroid

官方介紹

ThinkAndroid是一個免費的開源的、簡易的、遵循Apache2開源協議發佈的Android開發框架,其開發宗旨是簡單、快速的進行Android應用程序的開發,包含Android mvc、簡易sqlite orm、ioc模塊、封裝Android httpclitent的http模塊,具備快速構建文件緩存功能,無需考慮緩存文件的格式,均可以很是輕鬆的實現緩存,它還基於文件緩存模塊實現了圖片緩存功能,在android中加載的圖片的時候,對oom的問題,和對加載圖片錯位的問題都輕易解決。他還包括了一個手機開發中常常應用的實用工具類,如日誌管理,配置文件管理,android下載器模塊,網絡切換檢測等等工具

優勢:功能看起來比較完善。我的以爲名字起的好。

缺點:從2013年就中止維護了,沒有項目文檔。

4、  LoonAndroid

官方介紹:

若是你想看ui方面的東西,這裏沒有,想要看牛逼的效果這裏也沒有。這只是純實現功能的框架,它的目標是節省代碼量,下降耦合,讓代碼層次看起來更清晰。整個框架一部分是網上的,一部分是我改的,爲了適應個人編碼習慣,還有一部分像orm徹底是網上的組件。在此感謝那些朋友們。 整個框架式的初衷是爲了偷懶,以前都是一個功能一個jar,作項目的時候拉進去,這樣對於我來講依然仍是比較麻煩。最後就致使我把全部的jar作成了一個工具集合包。 有不少框架都含有這個工具集合裏的功能,這些不必定都好用,由於這是根據我我的使用喜歡來實現的,若是大家有本身的想法,能夠本身把架包解壓了之後,源碼拉出來改動下。 目前不少框架都用到了註解,除了androidannotations沒有入侵咱們應用的代碼之外,其餘的基本上都有,要麼是必須繼承框架裏面的activity,要麼是必須在activity的oncreat裏面調用某個方法。 整個框架式不一樣於androidannotations,Roboguice等ioc框架,這是一個相似spring的實現方式。在整應用的生命週期中找到切入點,而後對activity的生命週期進行攔截,而後插入本身的功能。

開源地址:https://github.com/gdpancheng/LoonAndroid

功能:

1自動注入框架(只須要繼承框架內的application既可)

2圖片加載框架(多重緩存,自動回收,最大限度保證內存的安全性)

3網絡請求模塊(繼承了基本上如今全部的http請求)

4 eventbus(集成一個開源的框架)

5驗證框架(集成開源框架)

6 json解析(支持解析成集合或者對象)

7 數據庫(不知道是哪位寫的 忘記了)

8 多線程斷點下載(自動判斷是否支持多線程,判斷是不是重定向)

9 自動更新模塊

10 一系列工具類

有點:功能多

缺點:文檔方面

5、   KJFrameForAndroid

項目地址https://github.com/kymjs/KJFrameForAndroid

官方介紹:

KJFrameForAndroid 又叫KJLibrary,是一個android的orm 和 ioc 框架。同時封裝了android中的Bitmap與Http操做的框架,使其更加簡單易用;
KJFrameForAndroid的設計思想是經過封裝Android原生SDK中複雜的複雜操做而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。咱們提倡用最少的代碼,完成最多的操做,用最高的效率,完成最複雜的功能。

功能:

一個android的orm 和 ioc 框架。同時封裝了android中的Bitmap與Http操做的框架,使其更加簡單易用; KJFrameForAndroid開發框架的設計思想是經過封裝Android原生SDK中複雜的複雜操做而達到簡化Android應用級開發,最終實現快速而又安全的開發APP。總共分爲五大模塊:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。

優勢:功能比較全面,代碼效率很高,文檔完善,有項目demo,出來的比較晚借鑑了不少大型框架經驗。

缺點:項目文檔是html頁面,查看起來很不方便,項目交流平臺沒多少人說話(難道大神都是不說話的?)

(這兩個評價是KJFrameForAndroid的做者對本身的評價,我的以爲做者是個天才。他的評價可能剛寫完網上發佈後寫的。我在給他更新評價。由於如今已通過去了幾個月一直在時不時更新。功能很全,項目文檔也很全面,並且代碼裏註釋最多 這方面這個很可貴。交流平臺人不少挺熱鬧,做者但願更熱鬧這樣框架愈來愈完善。對於初學者但願看到Demo更完善)

6、  dhroid

官方介紹

dhroid 是基於android 平臺, 極速開發框架,其核心設計目標是開發迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展.使你更快,更好的開發商業級別應用

開源地址: http://git.oschina.net/tengzhinei/dhroid

功能

1.Ioc容器: (用過spring的都知道)視圖注入,對象注入,接口注入,解決類依賴關係

2.Eventbus: android平臺事件總線框架,首創延時事件,事件管理輕鬆

3.Dhnet: 網絡http請求的解決方案,使用簡單,減小代碼,自帶多種網絡訪問緩存策略

4.adapter模塊: 數據綁定輕鬆,不用寫多餘的adapter,天生網絡支持(一行代碼搞定加載,刷新問題)

5.DhDb: android中sqlite的最輕量orm框架(增刪改查輕鬆搞定)

6.Perference: android自帶Perference 升級版,讓你的Perference更強大,更方便

工具集合 JSONUtil(安全處理json),ViewUtil(數據綁定更快) ThreadWorker(異步任務工具)...

優勢:功能全面,有demo,做者也是爲公司開發的框架。

缺點:文檔方面如今不是很好,就eoe上的那些。

7、  SmartAndroid

項目地址:http://www.aplesson.com/smartAndroid/demos

官方介紹

SmartAndroid是一套給 Android開發者使用的應用程序開發框架和工具包。它提供一套豐富的標準庫以及簡單的接口和邏輯結構,其目的是使開發人員更快速地進行項目開發。使用 SmartAndroid能夠減小代碼的編寫量,並將你的精力投入到項目的創造性開發上。

功能

SmartAndroid 擁有全範圍的類庫,能夠完成大多數一般須要的APP開發任務,包括: 異步網絡操做相關全部功能、強大的圖片處理操做、輕量級ORM數據庫Sqlite庫、zip操做 、動畫特效、Html等解析採集、事件總線EventBus/Otto、Gson(Json)、AQuery、主流全部UI控件(例如:ActionbarSherlock,SlidingMenu,BottomView,Actionbar,DragListView等10多種UI庫)等。

優勢:功能很是全,超出你索要、文檔完善(做者很全面,官方網站是web響應式網站,框架裏功能有UI各類特效應該最全了,一直更新中)

缺點:jar包大點?(功能多不可避免,不是問題),在線文檔(隨響應式的手機訪問也方便,可是網速慢就很差了,頁面打開不是很流暢)

8、  andBase

官方介紹:

andbase是爲Android開發者量身打造的一款開源類庫產品

開源地址:https://code.jd.com/zhaoqp2010_m/andbase

功能:

1.andbase中包含了大量的開發經常使用手段。

如網絡下載,多線程與線程池的管理,數據庫ORM,圖片緩存管理,圖片文件下載上傳,Http請求工具,經常使用工具類(字符串,日期,文件處理,圖片處理工具類等),可以使您的應用在團隊開發中減小冗餘代碼,很大的提升了代碼的維護性與開發高效性,能很好的規避因爲開發疏忽而致使常犯的錯誤。

2.andbase封裝了大量的經常使用控件。

list分頁,下拉刷新,圖片輪播,表格,多線程下載器,側邊欄,圖片上傳,輪子選擇,圖表,Tab滑動,日曆選擇器等。

3.強大的AbActivity,您沒有理由不繼承它。

繼承它你可以得到一個簡單強大可設置的操做欄,以及一系列的簡單調用,如彈出框,提示框,進度框,副操做欄等。

4.提供效率較高圖片緩存管理策略,使內存大幅度節省,利用率提升,效率提升。

程序中要管理大量的圖片資源,andbase提供簡單的方法,幾步完成下載與顯示,並支持縮放,裁剪,緩存功能。

5.封裝了大量常見工具類。

包括日期,字符,文件,圖片等各類處理函數,多而全。

6.andbase大量減小handler的使用,而採用回調函數,代碼更整潔。

handler會產生大量代碼,而且很差維護,andbasehandler進行了封裝。

7.簡單輕量支持註解自動建表的ORM框架(支持一/多對多的關聯操做)。

sql,建表,工做量大,andbase提供更傻瓜異步增刪改查工具類。

8.異步請求http框架,網絡請求標準化,支持文件上傳下載,getpost,進度顯示。

包含了異步與http請求的工具類,實用。

9.熱情的支持羣體。

優勢:功能很全,demo作的好 、API文檔完善、接近完美

缺點:但願文檔更詳細些。

9、  AndroidAnnotations

項目地址https://github.com/excilys/androidannotations

功能:

徹底註解框架,一切皆爲註解:聲明控件,綁定控件,設置監聽,setcontentview,長按事件,異步線程,所有經過註解實現。

優勢:徹底的註解,使開發起來更加便利,程序員寫的代碼也更少。

缺點:文檔是全英文的加上功能比較少沒有具體研究,因爲一切都是註解,感受效率不高,不過根據官方介紹說並非使用的反射加載,因此效率比通常註解高不少。

10、  volley

 

項目地址 https://github.com/smanikandan14/Volley-demo

功能:

Volley是Android平臺上的網絡通訊庫,能使網絡通訊更快,更簡單,更健壯異步加載網絡圖片、網絡數據

優勢:Google官方推薦,請看去年的開發者大會介紹。

缺點:功能比較少,只有網絡數據加載和網絡圖片加載

11、   android-async-http

項目地址https://github.com/loopj/android-async-http
文檔介紹:http://loopj.com/android-async-http/ 
 (1) 在匿名回調中處理請求結果
 (2) 在UI線程外進行http請求
 (3) 文件斷點上傳
 (4) 智能重試
 (5) 默認gzip壓縮
 (6) 支持解析成Json格式
 (7) 可將Cookies持久化到SharedPreferences 

有點:很簡單很實用

缺點:功能比較少, (只是針對的功能不是什麼缺點)

12、   ……

 


最後來個總結吧:

       以上的開發框架網上均可如下載源碼,也有demo實例的。固然我沒分析和對比框架的效率性能,可是都很是實用,其做者大部分是我的,都是些牛人或天才。你能夠直接使用,也能夠把有用跳出來用,至少有不少使用工具。若是有發現Bug,做者但願把bug交給他。

       Afinal 和 xUtils簡單實用可是demo和更新的問題。

KJFrameForAndroid 算是新出的,功能也多,效率也應該好,代碼也註釋多 用起來也很方便。

Dhroid 做者本身公司的框架,也能夠直接請教。

SmartAndroid 強勁的框架功能俱全。

andBase 出來早各個方面算是完整的吧。

有什麼問題能夠直接加各各交流羣直接問做者。

但願這些開發框架之後更好的完善demo和文檔,這樣你們更好的瞭解、學習、投入使用。時時關注!