做Android開發(fā)兩年多時間了,之前有做過外包始腾,遇到一個新項目州刽,總是會不厭其煩的拷貝文件搭建框架:UI層、緩存浪箭、圖片加載穗椅、日志、路由奶栖、Api請求匹表、事件訂閱,還有各種工具類等宣鄙。通常搭建一個簡單的框架需要耗費一天的時間袍镀,但做的都是重復勞動。于是我想:能不能搞個通用的快速開發(fā)框架冻晤,可以像搭積木一樣隨意組裝苇羡?趁這段時間公司比較閑,特別整理了這個框架:XDroid
取名XDroid
鼻弧,X
表示通用的设江,像USB
,Droid
表示Android
攘轩,即一個通用的Android快速開發(fā)框架叉存。
作為一個基礎框架,XDroid有如下設計目標:
- 通用:95%以上的Android項目都能使用度帮,大中小型項目都可以
- 快速:引入簡單歼捏,小于3分鐘;上手容易笨篷,10分鐘搞定全部甫菠;使用簡單
- 輕量:謹慎引入第三方庫,盡量減小框架體積
- 靈活:隨意替換模塊冕屯,不需要修改很多代碼寂诱,模塊間低耦合,隨意拆卸組裝
- 主流:符合80%以上開發(fā)者的開發(fā)模式
- 規(guī)范:代碼規(guī)范安聘,結構清晰
麻雀雖小五臟俱全痰洒,XDroid包含了最基本的UI、Cache浴韭、ImageLoader丘喻、Log、Router念颈、Event泉粉、Net等模塊。XDroid是一個通用的Android快速開發(fā)框架。
目前 XDroid已經(jīng)具備的特性如下:
- 基于MVC嗡靡,可快速切換到MVP
- 提供XActivity跺撼、XFragment、SimpleRecAdapter讨彼、SimpleListAdapter等基類歉井,可快速進行開發(fā)
- 完整封裝XRecyclerView,可實現(xiàn)絕大部分需求
- QTContentLayout哈误、XRecyclerContentLayout實現(xiàn)loading哩至、error、empty蜜自、content四種狀態(tài)的自由切換
- 實現(xiàn)了Memory菩貌、Disk、SharedPreferences三種方式的緩存重荠,可自由擴展
- 內(nèi)置了EventBus箭阶,可自由切換到其他事件訂閱庫
- 內(nèi)置Glide,可自由切換其他圖片加載庫
- 可輸出漂亮的Log晚缩,支持Json尾膊、Xml、Throwable等荞彼,實現(xiàn)蠅量級
- 內(nèi)置鏈式路由
- 內(nèi)置常用工具類:package冈敛、random、file...,提供的都是非常常用的方法
- 內(nèi)置加密工具類 XCodec鸣皂,你想要的加密姿勢都有
- 默認使用okhttputils作為api請求抓谴,可任性切換retrofit等其他庫
- 引入三方庫極少
后面會用幾篇文章來分享下我的搭建過程。
目前已經(jīng)發(fā)布了穩(wěn)定版本寞缝,可以去XDroid Wiki全面了解癌压,期待大家提出寶貴的意見,讓XDroid更科學荆陆,更強大滩届。