ANDROID開發框架整理

一、  Afinal

官方介紹:

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

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

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

Afinal的宗旨是簡潔,快速。約定大於配置的方式。儘量一行代碼完成所有事情。

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

功能:

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

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

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

(這個評價是其他高人評的,他自己也有寫了框架。我個人覺得以前Afinal算是經典了 用的人多)。

二、  xUtils

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

xUtils:可以說是Afinal的升級版。

xUtils 包含了很多實用的android工具。

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

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

 

三、  ThinkAndroid

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

官方介紹

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

優點:功能看起來比較完善。個人覺得名字起的好。

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

四、  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 一系列工具類

有點:功能多

缺點:文檔方面

五、   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更完善)

六、  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上的那些。

七、  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包大點?(功能多不可避免,不是問題),在線文檔(隨響應式的手機訪問也方便,但是網速慢就不好了,頁面打開不是很流暢)

八、  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文檔完善、接近完美

缺點:希望文檔更詳細些。

九、  AndroidAnnotations

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

功能:

完全註解框架,一切皆爲註解:聲明控件,綁定控件,設置監聽,setcontentview,長按事件,異步線程,全部通過註解實現。

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

缺點:文檔是全英文的加上功能比較少沒有具體研究,由於一切都是註解,感覺效率不高,不過根據官方介紹說並不是使用的反射加載,所以效率比一般註解高很多。

十、  volley

 

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

功能:

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

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

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

十一、   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 

有點:很簡單很實用

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

十二、   ……

 


最後來個總結吧:

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

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

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

Dhroid 作者自己公司的框架,也可以直接請教。

SmartAndroid 強勁的框架功能俱全。

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

有什麼問題可以直接加各各交流羣直接問作者。

希望這些開發框架以後更好的完善demo和文檔,這樣大家更好的瞭解、學習、投入使用。時時關注!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章