主要總結(jié)了7個(gè)好用的android 開發(fā)框架推薦給你:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了鎮(zhèn)寧免費(fèi)建站歡迎大家使用!
一、 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ù)。
功能:
一個(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)度。
二、 xUtils
xUtils:可以說是Afinal的升級(jí)版。
xUtils 包含了很多實(shí)用的android工具。
xUtils 支持大文件上傳,更全面的http請(qǐng)求協(xié)議支持(10種謂詞),擁有更加靈活的ORM,更多的事件注解支持且不受混淆影響...
xUitls 最低兼容android 2.2 (api level 8)
三、 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è)等等工具
四、 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)行攔截,然后插入自己的功能。
五、 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。
六、 dhroid
dhroid 是基于android 平臺(tái),
極速開發(fā)框架,其核心設(shè)計(jì)目標(biāo)是開發(fā)迅速、代碼量少、學(xué)習(xí)簡(jiǎn)單、功能強(qiáng)大、輕量級(jí)、易擴(kuò)展.使你更快,更好的開發(fā)商業(yè)級(jí)別應(yīng)用
功能:
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ù)工具)...
七、 SmartAndroid
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ù))等。
1.Side-Menu.Android
分類側(cè)滑菜單 , Yalantis 出品。
項(xiàng)目地址:
2.Context-Menu.Android
可以方便快速集成漂亮帶有動(dòng)畫效果的上下文菜單, Yalantis 出品。
項(xiàng)目地址:
3.Pull-to-Refresh.Rentals-Android
提供一個(gè)簡(jiǎn)單可以自定義的 下拉刷新 實(shí)現(xiàn),Yalantis 出品。
項(xiàng)目地址:
4.Titanic
可以顯示水位上升下降的TextView
項(xiàng)目地址:
5.AndroidSwipeLayout
滑動(dòng)Layout ,支持單個(gè)View,ListView,GridView
項(xiàng)目地址:
Demo地址: Download Demo
6.Android Typeface Helper
可以幫你輕松實(shí)現(xiàn)自定義字體的庫(kù)
項(xiàng)目地址:
7.android-lockpattern
Android的圖案密碼解鎖
項(xiàng)目地址:
Demo地址:
文檔介紹:
APP示例:Android開機(jī)的圖案密碼解鎖,支付寶的密碼解鎖
8.ToggleButton
狀態(tài)切換的 Button,類似 iOS,用 View 實(shí)現(xiàn)
項(xiàng)目地址:
9.WilliamChart
繪制圖表的庫(kù),支持LineChartView、BarChartView和StackBarChartView三中圖表類型,并且支持 Android 2.2及以上的系統(tǒng)。
項(xiàng)目地址:
Demo地址:
Demo項(xiàng)目:
10.實(shí)現(xiàn)滑動(dòng)ViewPager漸變背景色
項(xiàng)目地址:
11.Euclid
用戶簡(jiǎn)歷界面, Yalantis 出品。
項(xiàng)目地址:
12. InstaMaterial
Instagram的一組Material 風(fēng)格的概念設(shè)計(jì)
項(xiàng)目地址:
13. SpringIndicator
使用bezier實(shí)現(xiàn)粘連效果的頁面指示
項(xiàng)目地址:
14. BezierDemo
仿qq消息氣泡拖拽 消失的效果。
項(xiàng)目地址:
15. FoldableLayout
折疊的信紙被打開一樣的動(dòng)畫效果
項(xiàng)目地址:
16.Taurus
下拉刷新,Yalantis 出品。(是不是有點(diǎn)似曾相識(shí)呢?)
項(xiàng)目地址:
17. PersistentSearch
在點(diǎn)擊搜索的時(shí)候控件在原有位置顯示輸入框。
項(xiàng)目地址:
18. circular-progress-button
帶進(jìn)度顯示的Button
項(xiàng)目地址:
19. discrollview
當(dāng)上下滾動(dòng)的時(shí)候子元素會(huì)呈現(xiàn)不同動(dòng)畫效果的scrollView,網(wǎng)頁上稱之為:視差滾動(dòng)
項(xiàng)目地址:
20. sweet-alert-dialog
一個(gè)帶動(dòng)畫效果的 自定義對(duì)話框樣式
項(xiàng)目地址:
21. android-floating-action-button
Material Desig風(fēng)格的 浮動(dòng)操作按鈕
項(xiàng)目地址:
22. android-collapse-calendar-view
可以在月視圖與周視圖之間切換的calendar控件
項(xiàng)目地址:
22. android-collapse-calendar-view
可以在月視圖與周視圖之間切換的calendar控件
項(xiàng)目地址:
23. NumberProgressBar
個(gè)簡(jiǎn)約性感的數(shù)字進(jìn)度條
項(xiàng)目地址:
24. CircularProgressView
CircularProgressView 是通過自定義view的方式實(shí)現(xiàn)的Material風(fēng)格的加載提示控件,兼容任何版本。
項(xiàng)目地址:
25. OriSim3D-Android
opengl 實(shí)現(xiàn)了各種折紙效果,模擬了從一張紙折疊成一條船的整個(gè)過程
項(xiàng)目地址:
26、萬能日歷控件:CalendarView
GitHub:
中文使用文檔:
27、大圖查看器: BigImage ImageView ViewPager
Github:
地址:
支持超長(zhǎng)圖、超大圖的圖片瀏覽器,優(yōu)化內(nèi)存,支持手勢(shì)放大、下拉關(guān)閉、查看原圖、加載百分比、保存圖片等功能?,F(xiàn)已支持androidx。
28、安卓工具包androidUntilCode(安卓必備)
Github:
29、萬能適配器-BRAVH
官網(wǎng):
GitHub:
RecyclerView
作為Android最常用的控件之一,是否常常為“她”操碎了心
BRVAH受益群體是所有Android開發(fā)者,希望更多開發(fā)者能夠一起來把這個(gè)項(xiàng)目做得更好幫助更多人
30、智能刷新控件--SmartRefreshLayout
GitHub:
中文:
SmartRefreshLayout以打造一個(gè)強(qiáng)大,穩(wěn)定,成熟的下拉刷新框架為目標(biāo),并集成各種的炫酷、多樣、實(shí)用、美觀的Header和Footer。 正如名字所說,SmartRefreshLayout是一個(gè)“聰明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,還支持多層嵌套的視圖結(jié)構(gòu)。 它繼承自ViewGroup 而不是FrameLayout或LinearLayout,提高了性能。 也吸取了現(xiàn)在流行的各種刷新布局的優(yōu)點(diǎn),包括谷歌官方的 SwipeRefreshLayout , 其他第三方的 Ultra-Pull-To-Refresh 、 TwinklingRefreshLayout 。 還集成了各種炫酷的 Header 和 Footer。
31、內(nèi)存泄漏檢測(cè)工具--leakcanary
使用方式:
LeakCanary是Square公司基于MAT開源的一個(gè)工具,用來檢測(cè)Android App中的內(nèi)存泄露問題。官方地址:
32、 1218683832 / AndroidSlidingUpPanel
SlidingUpPanelLayout:可以上下滑動(dòng)的菜單布
主要分為以下幾種:
1、volley
項(xiàng)目地址
(1) JSON,圖像等的異步下載;
(2) 網(wǎng)絡(luò)請(qǐng)求的排序(scheduling)
(3) 網(wǎng)絡(luò)請(qǐng)求的優(yōu)先級(jí)處理
(4) 緩存
(5) 多級(jí)別取消請(qǐng)求
(6) 和Activity和生命周期的聯(lián)動(dòng)(Activity結(jié)束時(shí)同時(shí)取消所有網(wǎng)絡(luò)請(qǐng)求)
2、Android-async-http
項(xiàng)目地址:
文檔介紹:
(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
3、Afinal框架
項(xiàng)目地址:
主要有四大模塊:
(1) 數(shù)據(jù)庫(kù)模塊:android中的orm框架,使用了線程池對(duì)sqlite進(jìn)行操作。
(2) 注解模塊:android中的ioc框架,完全注解方式就可以進(jìn)行UI綁定和事件綁定。無需findViewById和setClickListener等。
(3) 網(wǎng)絡(luò)模塊:通過httpclient進(jìn)行封裝http數(shù)據(jù)請(qǐng)求,支持ajax方式加載,支持下載、上傳文件功能。
(4) 圖片緩存模塊:通過FinalBitmap,imageview加載bitmap的時(shí)候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象。
FinalBitmap可以配置線程加載線程數(shù)量,緩存大小,緩存路徑,加載顯示動(dòng)畫等。FinalBitmap的內(nèi)存管理使用lru算法,
沒有使用弱引用(android2.3以后google已經(jīng)不建議使用弱引用,android2.3后強(qiáng)行回收軟引用和弱引用,詳情查看android官方文檔),
更好的管理bitmap內(nèi)存。FinalBitmap可以自定義下載器,用來擴(kuò)展其他協(xié)議顯示網(wǎng)絡(luò)圖片,比如ftp等。同時(shí)可以自定義bitmap顯示器,
在imageview顯示圖片的時(shí)候播放動(dòng)畫等(默認(rèn)是漸變動(dòng)畫顯示)。
4、xUtils框架
項(xiàng)目地址:
主要有四大模塊:
(1) 數(shù)據(jù)庫(kù)模塊:android中的orm框架,一行代碼就可以進(jìn)行增刪改查;
支持事務(wù),默認(rèn)關(guān)閉;
可通過注解自定義表名,列名,外鍵,唯一性約束,NOT NULL約束,CHECK約束等(需要混淆的時(shí)候請(qǐng)注解表名和列名);
支持綁定外鍵,保存實(shí)體時(shí)外鍵關(guān)聯(lián)實(shí)體自動(dòng)保存或更新;
自動(dòng)加載外鍵關(guān)聯(lián)實(shí)體,支持延時(shí)加載;
支持鏈?zhǔn)奖磉_(dá)查詢,更直觀的查詢語義,參考下面的介紹或sample中的例子。
(2) 注解模塊:android中的ioc框架,完全注解方式就可以進(jìn)行UI,資源和事件綁定;
新的事件綁定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20種事件綁定,參見ViewCommonEventListener類和包c(diǎn)om.lidroid.xutils.view.annotation.event。
(3) 網(wǎng)絡(luò)模塊:支持同步,異步方式的請(qǐng)求;
支持大文件上傳,上傳大文件不會(huì)oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT請(qǐng)求;
下載支持301/302重定向,支持設(shè)置是否根據(jù)Content-Disposition重命名下載的文件;
返回文本內(nèi)容的請(qǐng)求(默認(rèn)只啟用了GET請(qǐng)求)支持緩存,可設(shè)置默認(rèn)過期時(shí)間和針對(duì)當(dāng)前請(qǐng)求的過期時(shí)間。
(4) 圖片緩存模塊:加載bitmap的時(shí)候無需考慮bitmap加載過程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象;
支持加載網(wǎng)絡(luò)圖片和本地圖片;
內(nèi)存管理使用lru算法,更好的管理bitmap內(nèi)存;
可配置線程加載線程數(shù)量,緩存大小,緩存路徑,加載顯示動(dòng)畫等...
5、ThinkAndroid
項(xiàng)目地址:
主要有以下模塊:
(1) MVC模塊:實(shí)現(xiàn)視圖與模型的分離。
(2) ioc模塊:android中的ioc模塊,完全注解方式就可以進(jìn)行UI綁定、res中的資源的讀取、以及對(duì)象的初始化。
(3) 數(shù)據(jù)庫(kù)模塊:android中的orm框架,使用了線程池對(duì)sqlite進(jìn)行操作。
(4) http模塊:通過httpclient進(jìn)行封裝http數(shù)據(jù)請(qǐng)求,支持異步及同步方式加載。
(5) 緩存模塊:通過簡(jiǎn)單的配置及設(shè)計(jì)可以很好的實(shí)現(xiàn)緩存,對(duì)緩存可以隨意的配置
(6) 圖片緩存模塊:imageview加載圖片的時(shí)候無需考慮圖片加載過程中出現(xiàn)的oom和android容器快速滑動(dòng)時(shí)候出現(xiàn)的圖片錯(cuò)位等現(xiàn)象。
(7) 配置器模塊:可以對(duì)簡(jiǎn)易的實(shí)現(xiàn)配對(duì)配置的操作,目前配置文件可以支持Preference、Properties對(duì)配置進(jìn)行存取。
(8) 日志打印模塊:可以較快的輕易的是實(shí)現(xiàn)日志打印,支持日志打印的擴(kuò)展,目前支持對(duì)sdcard寫入本地打印、以及控制臺(tái)打印
(9) 下載器模塊:可以簡(jiǎn)單的實(shí)現(xiàn)多線程下載、后臺(tái)下載、斷點(diǎn)續(xù)傳、對(duì)下載進(jìn)行控制、如開始、暫停、刪除等等。
(10) 網(wǎng)絡(luò)狀態(tài)檢測(cè)模塊:當(dāng)網(wǎng)絡(luò)狀態(tài)改變時(shí),對(duì)其進(jìn)行檢
6、LoonAndroid
項(xiàng)目地址:
主要有以下模塊:
(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) 一系列工具類
7、KJFrameForAndroid
項(xiàng)目地址:
github項(xiàng)目地址:
備用項(xiàng)目地址:
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ù)雜的功能。
同時(shí),KJFrameForAndroid是免費(fèi)的、開源的、簡(jiǎn)易的、遵循Apache Licence 2.0開源協(xié)議發(fā)布的android應(yīng)用開發(fā)框架,總共分為五大模 塊:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。
8、AndroidAnnotations
xUtils是國(guó)內(nèi)比較火的快速開發(fā)框架,但是它的注解機(jī)制不是太穩(wěn)定而且注解可選也比較少,國(guó)外的一個(gè)框架主要專注于注解的開發(fā),簡(jiǎn)化Android代碼編寫,它除了有依賴注入的特性以外,還集成了Ormlite,Spring-android中的REST模板。使用起來非常方便,大大提高了開發(fā)效率。
1.下載AndroidAnnotations:
git官網(wǎng):
項(xiàng)目中重要的兩個(gè)jar包分別是:androidannotations-api-3.0.1.jar和androidannotations-3.0.1.jar
2.新建一個(gè)android項(xiàng)目,然后將androidannotations-api-3.0.1.jar復(fù)制到libs目錄下,在項(xiàng)目的根目錄新建一個(gè)文件夾,命名為compile-libs,然后將androidannotations-3.0.1.jar復(fù)制到該目錄下
3.在你的工程上右鍵單擊,在彈出的菜單中選擇"Properties",找到Java Compiler,確保Compiler compliance level設(shè)置為1.6,否則的話處理器將不起作用
4.然后設(shè)置項(xiàng)目屬性:右鍵-Properties-Java Compiler-Annotation Processing 在該頁面選中Enable project specific settings。
5.轉(zhuǎn)到Java Compiler 中的 Annotation Processing 下邊的 Factory Path,在此將androidannotations-3.0.1.jar添加到其中。
注解1:@ViewById 與findViewById功能相似,如果ViewById后沒有設(shè)置資源ID的話,就是自動(dòng)查找與變量名稱相同的id資源。
注解2:@Click 點(diǎn)擊事件處理的注解。
注解3:@UiThread 后臺(tái)Ui線程的注解,省去了Handler等等。
注解4:@EActivity 提示Activity的注解,注意,該注解將Activity編譯成Activity_,注意,多一個(gè)下劃線“_”,因此在AndroidManifest.xml文件中需要將其添加下滑線
注解5:@AfterViews 是指View類注入完畢之后執(zhí)行的代碼。
1、Xposed:Java層的HOOK框架,由于要修改Zgote進(jìn)程,需要Root;
2、CydiaSubstrator:本地層的HOOK框架,本質(zhì)上是一個(gè)inline Hook;
3、dexposed框架
4、AndFix框架;
5、Sophix 框架;
6、AndroidMethodHook框架;
7、Legend框架:在AndFix框架的基礎(chǔ)上,在方法進(jìn)行替換前進(jìn)行了方法的備份;
8、YAHFA框架;
9、EPIC框架;
10、VirtualXposed:Virtual APP與Xposed的一個(gè)結(jié)合。
擴(kuò)展資料
使用框架的原因
因?yàn)檐浖到y(tǒng)很復(fù)雜,特別是服務(wù)器端軟件,涉及到的知識(shí),內(nèi)容,問題太多。在某些方面使用別人成熟的框架,就相當(dāng)于讓別人幫助完成一些基礎(chǔ)工作,只需要集中精力完成系統(tǒng)的業(yè)務(wù)邏輯設(shè)計(jì)。
而且框架一般是成熟,穩(wěn)健的,可以處理系統(tǒng)很多細(xì)節(jié)問題,比如,事務(wù)處理,安全性,數(shù)據(jù)流控制等問題。
還有框架一般都經(jīng)過很多人使用,所以結(jié)構(gòu)很好,所以擴(kuò)展性也很好,而且它是不斷升級(jí)的,可以直接享受別人升級(jí)代碼帶來的好處。框架一般處在低層應(yīng)用平臺(tái)(如J2EE)和高層業(yè)務(wù)邏輯之間的中間層。
框架開發(fā)
框架的最大好處就是重用。面向?qū)ο笙到y(tǒng)獲得的最大的復(fù)用方式就是框架,一個(gè)大的應(yīng)用系統(tǒng)往往可能由多層互相協(xié)作的框架組成。
由于框架能重用代碼,因此從一已有構(gòu)件庫(kù)中建立應(yīng)用變得非常容易,因?yàn)闃?gòu)件都采用框架統(tǒng)一定義的接口,從而使構(gòu)件間的通信簡(jiǎn)單。
框架能重用設(shè)計(jì)。它提供可重用的抽象算法及高層設(shè)計(jì),并能將大系統(tǒng)分解成更小的構(gòu)件,而且能描述構(gòu)件間的內(nèi)部接口。
這些標(biāo)準(zhǔn)接口使在已有的構(gòu)件基礎(chǔ)上通過組裝建立各種各樣的系統(tǒng)成為可能。只要符合接口定義,新的構(gòu)件就能插入框架中,構(gòu)件設(shè)計(jì)者就能重用構(gòu)架的設(shè)計(jì)。
框架還能重用分析。所有的人員若按照框架的思想來分析事務(wù),那么就能將它劃分為同樣的構(gòu)件,采用相似的解決方法,從而使采用同一框架的分析人員之間能進(jìn)行溝通。
參考資料來源:百度百科-框架
1.Linux Kernel
2.Android Runtime
3.Libraries
4.Application Framework
5.Applications
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分頁,下拉刷新,圖片輪播,表格,多線程下載器,側(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)度顯示。