【轉】android技術棧

android技術棧

開發工具

Android studioandroid

開發語言

Java數據庫

自動化構建

gradle緩存

app技術組織架構

這裏寫圖片描述

基礎層

基礎框架層專一於技術領域實現,提供app公有特性,避免重複製造輪子。注重性能和穩定性。須要不斷穩固提升健壯性。 
1. 網絡通訊 
網絡通訊底層選型的是成熟框架okhttp,上層則是自有封裝庫,針對原生框架進行了請求和回調上的封裝。 
2. 數據庫操做 
少於5張表的單表CRUD工做通常用原生DB搞定,較複雜數據存儲業務選用greenDAO框架。是一個輕量級且快速的ORM框架。 
3. JSON解析 
選用Google公司的gson框架,能夠將JSON字符串反序列化爲對應的Java對象。 
4. 日誌記錄 
集成騰訊Bugly工具,提供異常上報、運營統計以及版本升級功能。 
5. 適配器 
針對RecycleView封裝的列表適配器框架,實現上拉加載、下拉刷新、頭部尾部view和分類type等功能。穩定無bug。 
6. 屏幕適配 
選用AutoLayout百分比適配框架,能夠自適應適配90%屏幕分辨率。 
7. 依賴注入 
選用jakewharton的ButterKnife註解框架,同時集成生成器插件可自動生成view對象。 
8. 圖片緩存 
選用Google推薦的Glide圖片框架,輕便靈活。服務器

須要優化的地方

網絡框架上層考慮選用Rrtrofit框架,是將REST API轉換爲Java接口的一個開源函數庫,基於註解使代碼變得更簡潔,須要服務器遵循REST規範。微信

組件層

組件層會針對行業領域的實現、業務類型的實現進行不一樣的選型,下面列舉的是最經常使用的可固定選型的基礎組件。 
1. 支付功能 
目前支持支付寶和微信,有成熟的對接方案。 
2. 社交分享 
目前支持微信好友、微信朋友圈、QQ分享及短信分享。 
3. 視頻服務 
基於保利威視開源視頻庫進行的再封裝和重構,能夠實現視頻上傳、視頻下載、視頻播放的功能。 
4. 即時通信 
目前選用環信即時通信技術,包括兩個庫,一個底層通信庫、一個UI庫。 
5. 推送服務 
目前選用極光推送。 
6. 圖片壓縮 
自封裝圖片壓縮工具類,主要實現Bitmap圖像壓縮和圖片文件壓縮。 
7. 視頻壓縮 
基於FFmpeg開源庫自編寫的視頻壓縮工具類,實現百分比進度、多比率調節、視頻截取第一幀等功能。 
8. 插件框架 
其餘小插件依賴庫例如:圖表、輪播圖、側滑、圖片縮放等。markdown

須要優化的地方

事件總線:近期引入RxJava,一個在 Java VM 上使用可觀測的序列來組成異步的、基於事件的程序的庫。網絡

應用層

目前主要開發架構:MVC + MVP 混合模式,簡單業務MVC分層,複雜業務MVP分層。 
1.MVC 
主要架構選型,優勢:快速開發,熟悉度高。缺點:頁面與業務邏輯耦合度高。 
2.MVP 
次要架構選型,優勢:分層明確,耦合度低,有利於複雜業務開發。缺點:簡單頁面有過分設計之嫌,反而會浪費時間。 
3.MVVM 
還在摸索中,熟悉度低。架構

相關文章
相關標籤/搜索