對(duì)于Android初學(xué)者以及對(duì)于我們菜鳥,這些大神們開發(fā)的輕量級(jí)框架非常有用(更別說開源的了)排嫌。
?????? 下面轉(zhuǎn)載這10個(gè)框架的介紹:(按順序來吧沒有什么排名)畸裳。
一、??Afinal
官方介紹:
Afinal是一個(gè)android的ioc淳地,orm框架怖糊,內(nèi)置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通過finalActivity颇象,我們可以通過注解的方式進(jìn)行綁定ui和事件伍伤。通過finalBitmap,我們可以方便的加載bitmap圖片夯到,而無需考慮oom等問題。通過finalDB模塊饮亏,我們一行代碼就可以對(duì)android的sqlite數(shù)據(jù)庫(kù)進(jìn)行增刪改查耍贾。通過FinalHttp模塊,我們可以以ajax形式請(qǐng)求http數(shù)據(jù)路幸。詳情請(qǐng)通過以下網(wǎng)址查看荐开。
Afinal 是一個(gè)android的sqlite orm 和 ioc 框架。同時(shí)封裝了android中的http框架简肴,使其更加簡(jiǎn)單易用晃听;
使用finalBitmap,無需考慮bitmap在android中加載的時(shí)候oom的問題和快速滑動(dòng)的時(shí)候圖片加載位置錯(cuò)位等問題砰识。
Afinal的宗旨是簡(jiǎn)潔能扒,快速。約定大于配置的方式辫狼。盡量一行代碼完成所有事情初斑。
項(xiàng)目地址:https://github.com/yangfuhai/afinal
功能:
一個(gè)android的ioc,orm框架膨处,內(nèi)置了四大模塊功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp见秤。通過finalActivity,我們可以通過注解的方式進(jìn)行綁定ui和事件真椿。通過finalBitmap鹃答,我們可以方便的加載bitmap圖片,而無需考慮oom等問題突硝。通過finalDB模塊测摔,我們一行代碼就可以對(duì)android的sqlite數(shù)據(jù)庫(kù)進(jìn)行增刪改查。通過FinalHttp模塊解恰,我們可以以ajax形式請(qǐng)求http數(shù)據(jù)避咆。
優(yōu)點(diǎn):功能比較全面舟肉,文檔完善,代碼效率比較高查库。
缺點(diǎn):沒有項(xiàng)目demo路媚,框架的時(shí)間比較久,代碼冗余比較多(這也是無可避免的)樊销,文檔比較老跟不上代碼更新進(jìn)度整慎。
(這個(gè)評(píng)價(jià)是其他高人評(píng)的,他自己也有寫了框架围苫。我個(gè)人覺得以前Afinal算是經(jīng)典了 用的人多)裤园。
二、??xUtils
git地址:https://github.com/wyouflf/xUtils
xUtils:可以說是Afinal的升級(jí)版剂府。
xUtils 包含了很多實(shí)用的android工具拧揽。
xUtils 支持大文件上傳,更全面的http請(qǐng)求協(xié)議支持(10種謂詞)腺占,擁有更加靈活的ORM淤袜,更多的事件注解支持且不受混淆影響...
xUitls 最低兼容android 2.2 (api level 8)
三、??ThinkAndroid
項(xiàng)目地址:https://github.com/white-cat/ThinkAndroid
官方介紹:
ThinkAndroid是一個(gè)免費(fèi)的開源的衰伯、簡(jiǎn)易的铡羡、遵循Apache2開源協(xié)議發(fā)布的Android開發(fā)框架,其開發(fā)宗旨是簡(jiǎn)單意鲸、快速的進(jìn)行Android應(yīng)用程序的開發(fā)烦周,包含Android mvc、簡(jiǎn)易sqlite orm怎顾、ioc模塊读慎、封裝Android httpclitent的http模塊,具有快速構(gòu)建文件緩存功能,無需考慮緩存文件的格式槐雾,都可以非常輕松的實(shí)現(xiàn)緩存贪壳,它還基于文件緩存模塊實(shí)現(xiàn)了圖片緩存功能,在android中加載的圖片的時(shí)候蚜退,對(duì)oom的問題闰靴,和對(duì)加載圖片錯(cuò)位的問題都輕易解決。他還包括了一個(gè)手機(jī)開發(fā)中經(jīng)常應(yīng)用的實(shí)用工具類钻注,如日志管理蚂且,配置文件管理,android下載器模塊幅恋,網(wǎng)絡(luò)切換檢測(cè)等等工具
優(yōu)點(diǎn):功能看起來比較完善杏死。個(gè)人覺得名字起的好。
缺點(diǎn):從2013年就停止維護(hù)了,沒有項(xiàng)目文檔淑翼。
四腐巢、LoonAndroid
官方介紹:
如果你想看ui方面的東西,這里沒有玄括,想要看牛逼的效果這里也沒有冯丙。這只是純實(shí)現(xiàn)功能的框架,它的目標(biāo)是節(jié)省代碼量遭京,降低耦合胃惜,讓代碼層次看起來更清晰。整個(gè)框架一部分是網(wǎng)上的哪雕,一部分是我改的船殉,為了適應(yīng)我的編碼習(xí)慣,還有一部分像orm完全是網(wǎng)上的組件斯嚎。在此感謝那些朋友們利虫。 整個(gè)框架式的初衷是為了偷懶,之前都是一個(gè)功能一個(gè)jar堡僻,做項(xiàng)目的時(shí)候拉進(jìn)去糠惫,這樣對(duì)于我來說依然還是比較麻煩。最后就導(dǎo)致我把所有的jar做成了一個(gè)工具集合包苦始。 有很多框架都含有這個(gè)工具集合里的功能寞钥,這些不一定都好用慌申,因?yàn)檫@是根據(jù)我個(gè)人使用喜歡來實(shí)現(xiàn)的陌选,如果你們有自己的想法,可以自己把架包解壓了以后蹄溉,源碼拉出來改動(dòng)下咨油。 目前很多框架都用到了注解,除了androidannotations沒有入侵我們應(yīng)用的代碼以外柒爵,其他的基本上都有役电,要么是必須繼承框架里面的activity,要么是必須在activity的oncreat里面調(diào)用某個(gè)方法。 整個(gè)框架式不同于androidannotations棉胀,Roboguice等ioc框架法瑟,這是一個(gè)類似spring的實(shí)現(xiàn)方式。在整應(yīng)用的生命周期中找到切入點(diǎn)唁奢,然后對(duì)activity的生命周期進(jìn)行攔截霎挟,然后插入自己的功能。
開源地址:https://github.com/gdpancheng/LoonAndroid
功能:
1自動(dòng)注入框架(只需要繼承框架內(nèi)的application既可)
2圖片加載框架(多重緩存麻掸,自動(dòng)回收酥夭,最大限度保證內(nèi)存的安全性)
3網(wǎng)絡(luò)請(qǐng)求模塊(繼承了基本上現(xiàn)在所有的http請(qǐng)求)
4 eventbus(集成一個(gè)開源的框架)
5驗(yàn)證框架(集成開源框架)
6 json解析(支持解析成集合或者對(duì)象)
7 數(shù)據(jù)庫(kù)(不知道是哪位寫的 忘記了)
8 多線程斷點(diǎn)下載(自動(dòng)判斷是否支持多線程,判斷是否是重定向)
9 自動(dòng)更新模塊
10 一系列工具類
有點(diǎn):功能多
缺點(diǎn):文檔方面
五、???KJFrameForAndroid
項(xiàng)目地址:https://github.com/kymjs/KJFrameForAndroid
官方介紹:
KJFrameForAndroid?又叫KJLibrary熬北,是一個(gè)android的orm 和 ioc 框架疙描。同時(shí)封裝了android中的Bitmap與Http操作的框架,使其更加簡(jiǎn)單易用讶隐;
KJFrameForAndroid的設(shè)計(jì)思想是通過封裝Android原生SDK中復(fù)雜的復(fù)雜操作而達(dá)到簡(jiǎn)化Android應(yīng)用級(jí)開發(fā)起胰,最終實(shí)現(xiàn)快速而又安全的開發(fā)APP。我們提倡用最少的代碼整份,完成最多的操作待错,用最高的效率,完成最復(fù)雜的功能烈评。
功能:
一個(gè)android的orm 和 ioc 框架火俄。同時(shí)封裝了android中的Bitmap與Http操作的框架,使其更加簡(jiǎn)單易用讲冠; KJFrameForAndroid開發(fā)框架的設(shè)計(jì)思想是通過封裝Android原生SDK中復(fù)雜的復(fù)雜操作而達(dá)到簡(jiǎn)化Android應(yīng)用級(jí)開發(fā)瓜客,最終實(shí)現(xiàn)快速而又安全的開發(fā)APP「涂總共分為五大模塊:UILibrary谱仪,UtilsLibrary,HttpLibrary否彩,BitmapLibrary疯攒,DBLibrary。
優(yōu)點(diǎn):功能比較全面列荔,代碼效率很高敬尺,文檔完善,有項(xiàng)目demo贴浙,出來的比較晚借鑒了很多大型框架經(jīng)驗(yàn)砂吞。
缺點(diǎn):項(xiàng)目文檔是html頁(yè)面,查看起來很不方便崎溃,項(xiàng)目交流平臺(tái)沒多少人說話(難道大神都是不說話的蜻直?)
(這兩個(gè)評(píng)價(jià)是KJFrameForAndroid的作者對(duì)自己的評(píng)價(jià),個(gè)人覺得作者是個(gè)天才袁串。他的評(píng)價(jià)可能剛寫完網(wǎng)上發(fā)布后寫的概而。我在給他更新評(píng)價(jià)。因?yàn)楝F(xiàn)在已經(jīng)過去了幾個(gè)月一直在時(shí)不時(shí)更新囱修。功能很全赎瑰,項(xiàng)目文檔也很全面,而且代碼里注釋最多 這方面這個(gè)很難得蔚袍。交流平臺(tái)人很多挺熱鬧乡范,作者希望更熱鬧這樣框架越來越完善配名。對(duì)于初學(xué)者希望看到Demo更完善)
六、??dhroid
官方介紹:
dhroid 是基于android 平臺(tái), 極速開發(fā)框架晋辆,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速渠脉、代碼量少、學(xué)習(xí)簡(jiǎn)單瓶佳、功能強(qiáng)大芋膘、輕量級(jí)、易擴(kuò)展.使你更快,更好的開發(fā)商業(yè)級(jí)別應(yīng)用
開源地址:http://git.oschina.net/tengzhinei/dhroid
功能:
1.Ioc容器: (用過spring的都知道)視圖注入,對(duì)象注入,接口注入,解決類依賴關(guān)系
2.Eventbus: android平臺(tái)事件總線框架,獨(dú)創(chuàng)延時(shí)事件,事件管理輕松
3.Dhnet: 網(wǎng)絡(luò)http請(qǐng)求的解決方案,使用簡(jiǎn)單,減少代碼,自帶多種網(wǎng)絡(luò)訪問緩存策略
4.adapter模塊: 數(shù)據(jù)綁定輕松,不用寫多余的adapter,天生網(wǎng)絡(luò)支持(一行代碼搞定加載,刷新問題)
5.DhDb: android中sqlite的最輕量orm框架(增刪改查輕松搞定)
6.Perference: android自帶Perference 升級(jí)版,讓你的Perference更強(qiáng)大,更方便
工具集合 JSONUtil(安全處理json),ViewUtil(數(shù)據(jù)綁定更快) ThreadWorker(異步任務(wù)工具)...
優(yōu)點(diǎn):功能全面霸饲,有demo为朋,作者也是為公司開發(fā)的框架。
缺點(diǎn):文檔方面現(xiàn)在不是很好厚脉,就eoe上的那些习寸。
七、??SmartAndroid
項(xiàng)目地址:http://www.aplesson.com/smartAndroid/demos
官方介紹:
SmartAndroid是一套給 Android開發(fā)者使用的應(yīng)用程序開發(fā)框架和工具包傻工。它提供一套豐富的標(biāo)準(zhǔn)庫(kù)以及簡(jiǎn)單的接口和邏輯結(jié)構(gòu)霞溪,其目的是使開發(fā)人員更快速地進(jìn)行項(xiàng)目開發(fā)。使用 SmartAndroid可以減少代碼的編寫量中捆,并將你的精力投入到項(xiàng)目的創(chuàng)造性開發(fā)上鸯匹。
功能:
SmartAndroid 擁有全范圍的類庫(kù),可以完成大多數(shù)通常需要的APP開發(fā)任務(wù)泄伪,包括: 異步網(wǎng)絡(luò)操作相關(guān)所有功能殴蓬、強(qiáng)大的圖片處理操作、輕量級(jí)ORM數(shù)據(jù)庫(kù)Sqlite庫(kù)蟋滴、zip操作 染厅、動(dòng)畫特效、Html等解析采集、事件總線EventBus/Otto、Gson(Json)男旗、AQuery巨缘、主流所有UI控件(例如:ActionbarSherlock,SlidingMenu散庶,BottomView蕉堰,Actionbar,DragListView等10多種UI庫(kù))等悲龟。
優(yōu)點(diǎn):功能非常全屋讶,超出你索要、文檔完善(作者很全面须教,官方網(wǎng)站是web響應(yīng)式網(wǎng)站皿渗,框架里功能有UI各種特效應(yīng)該最全了斩芭,一直更新中)
缺點(diǎn):jar包大點(diǎn)?(功能多不可避免乐疆,不是問題)划乖,在線文檔(隨響應(yīng)式的手機(jī)訪問也方便,但是網(wǎng)速慢就不好了挤土,頁(yè)面打開不是很流暢)
八琴庵、??andBase
官方介紹:
andbase是為Android開發(fā)者量身打造的一款開源類庫(kù)產(chǎn)品
開源地址:https://code.jd.com/zhaoqp2010_m/andbase
功能:
1.andbase中包含了大量的開發(fā)常用手段。
如網(wǎng)絡(luò)下載仰美,多線程與線程池的管理迷殿,數(shù)據(jù)庫(kù)ORM,圖片緩存管理咖杂,圖片文件下載上傳庆寺,Http請(qǐng)求工具,常用工具類(字符串诉字,日期止邮,文件處理,圖片處理工具類等)奏窑,能夠使您的應(yīng)用在團(tuán)隊(duì)開發(fā)中減少冗余代碼导披,很大的提高了代碼的維護(hù)性與開發(fā)高效性,能很好的規(guī)避由于開發(fā)疏忽而導(dǎo)致常犯的錯(cuò)誤埃唯。
2.andbase封裝了大量的常用控件撩匕。
如list分頁(yè),下拉刷新墨叛,圖片輪播止毕,表格,多線程下載器漠趁,側(cè)邊欄扁凛,圖片上傳,輪子選擇闯传,圖表谨朝,Tab滑動(dòng),日歷選擇器等甥绿。
3.強(qiáng)大的AbActivity字币,您沒有理由不繼承它。
繼承它你能夠獲得一個(gè)簡(jiǎn)單強(qiáng)大可設(shè)置的操作欄共缕,以及一系列的簡(jiǎn)單調(diào)用洗出,如彈出框,提示框图谷,進(jìn)度框翩活,副操作欄等阱洪。
4.提供效率較高圖片緩存管理策略,使內(nèi)存大幅度節(jié)省菠镇,利用率提高澄峰,效率提高。
程序中要管理大量的圖片資源辟犀,andbase提供簡(jiǎn)單的方法俏竞,幾步完成下載與顯示,并支持縮放堂竟,裁剪魂毁,緩存功能。
5.封裝了大量常見工具類出嘹。
包括日期席楚,字符,文件税稼,圖片等各種處理函數(shù)烦秩,多而全。
6.用andbase大量減少handler的使用郎仆,而采用回調(diào)函數(shù)只祠,代碼更整潔。
handler會(huì)產(chǎn)生大量代碼扰肌,并且不好維護(hù)抛寝,andbase對(duì)handler進(jìn)行了封裝。
7.簡(jiǎn)單輕量支持注解自動(dòng)建表的ORM框架(支持一/多對(duì)多的關(guān)聯(lián)操作)曙旭。
寫sql盗舰,建表,工作量大桂躏,andbase提供更傻瓜異步增刪改查工具類钻趋。
8.異步請(qǐng)求http框架,網(wǎng)絡(luò)請(qǐng)求標(biāo)準(zhǔn)化剂习,支持文件上傳下載蛮位,get,post进倍,進(jìn)度顯示土至。
包含了異步與http請(qǐng)求的工具類购对,實(shí)用猾昆。
9.熱情的支持群體。
優(yōu)點(diǎn):功能很全骡苞,demo做的好 垂蜗、API文檔完善楷扬、接近完美
缺點(diǎn):希望文檔更詳細(xì)些。
九贴见、??AndroidAnnotations
項(xiàng)目地址:https://github.com/excilys/androidannotations
功能:
完全注解框架烘苹,一切皆為注解:聲明控件,綁定控件片部,設(shè)置監(jiān)聽镣衡,setcontentview,長(zhǎng)按事件档悠,異步線程廊鸥,全部通過注解實(shí)現(xiàn)。
優(yōu)點(diǎn):完全的注解辖所,使開發(fā)起來更加便利惰说,程序員寫的代碼也更少。
缺點(diǎn):文檔是全英文的加上功能比較少?zèng)]有具體研究缘回,由于一切都是注解吆视,感覺效率不高,不過根據(jù)官方介紹說并不是使用的反射加載酥宴,所以效率比一般注解高很多啦吧。
十、??volley
項(xiàng)目地址:https://github.com/smanikandan14/Volley-demo
功能:
Volley是Android平臺(tái)上的網(wǎng)絡(luò)通信庫(kù)拙寡,能使網(wǎng)絡(luò)通信更快丰滑,更簡(jiǎn)單,更健壯異步加載網(wǎng)絡(luò)圖片倒庵、網(wǎng)絡(luò)數(shù)據(jù)
優(yōu)點(diǎn):Google官方推薦褒墨,請(qǐng)看去年的開發(fā)者大會(huì)介紹。
缺點(diǎn):功能比較少擎宝,只有網(wǎng)絡(luò)數(shù)據(jù)加載和網(wǎng)絡(luò)圖片加載
十一郁妈、???android-async-http
項(xiàng)目地址:https://github.com/loopj/android-async-http
文檔介紹:http://loopj.com/android-async-http/
(1) 在匿名回調(diào)中處理請(qǐng)求結(jié)果
(2) 在UI線程外進(jìn)行http請(qǐng)求
(3) 文件斷點(diǎn)上傳
(4) 智能重試
(5) 默認(rèn)gzip壓縮
(6) 支持解析成Json格式
(7) 可將Cookies持久化到SharedPreferences
有點(diǎn):很簡(jiǎn)單很實(shí)用
缺點(diǎn):功能比較少, (只是針對(duì)的功能不是什么缺點(diǎn))