平安好醫生技術棧的分析
平安好醫生作為平安旗下的移動醫療應用, 受到平安集團的很大重視, 非常不錯. 讓我們來分析一下這款應用所使用的技術吧, 多學習多進步. 大家在文中獲取需要學習的內容吧.
版本: personaldoc_PCGW_V_3.1.2_30102.apk
架構
Apk: 18.5M, 包名是 com.pingan.papd .
Android SDK: 構建版本19, 最低版本14.
MultiDex: 使用兩個Dex.
Jpush : 極光推送 . 平安是極光推送(Jpush)的粉絲 :), 大量使用它們的產品. 服務: AlarmReceiver , DownloadService , PushReceiver , DaemonService . 同時, 自開發的 RegistrationIdReceiver 接收器也接收大量Jpush的廣播. Jush的Key是 da3f70705b4069f269f15398 , 渠道: PAJK , 即平安健康.
百度LBS& 高德定位 .
動態加載DL : 動態加載方案DL, 百度的任玉剛開發.
小米推送(mipush): 使用的類 XMPushService , PushMessageHandler , MessageHandleService , PingReceiver .
友盟統計(umeng).
SQLite的So: libsecsqlite3.so, xUtils(ORM)使用.
代碼
com
xiaomi: 小米推送;
ryg : 動態加載DL , 百度任玉剛的庫, 非常棒的庫.
squareup : Otto 是一種EventBus.
pajk, pingan: 平安健康, 平安, 自有代碼.
talkingdata : TalkingData 數據統計服務, 類似于聽云, 平安定制.
samsung: 三星的 SHealth 庫.
se.emilsjolander.StickyListHeaders : StickyListHeaders 是固定頂部滾動列表的開源庫, 3k+的Star, 非常有名.
paf.cordova : Cordova 混合編程, 類似于RN.
autonavi.aps: 高德的自動導航.
lidroid.xutils : xUtils 是SQLite的ORM, 簡化編寫, 與Sugar類似.
alibaba.fastjson : FastJson 是阿里巴巴的Json解析庫, FastJson.
google.gson: Google的Gson庫.
tencent: 騰訊的SNS庫集合.
eu.janmuller : CropImage 是圖片剪裁的開源庫, 400+Stars.
pafu: 平安的公共庫, 工具和渠道管理, 使用方便.
amap.api: 高德定位.
sina: 新浪微博.
tendcloud : TalkingData數據統計庫, 類似聽云.
paic.zhifu : 壹錢包 , 平安的支付平臺.
其他
de.greenrobot : GreenRobot的 EventBus ;
ru.noties.scrollable : Scrollable 是滾動控件庫.
org.apache.cordova: Cordova 混合編程.
org.akita : Akita 是Android的快速開發庫, 一家公司的產品, 非常有意思.
org.jivesoftware : Jivesoftware 是協同工作的庫, 也是一家公司的產品.
cn.jpush : 極光推送 , 平安健康非常喜歡, 還做了定制!
pl.droidsonroids.gif : 使用 Gif 圖片的庫.
總結
平安好醫生的體積相對較大, 升級Android的SDK比較慢, 所以只使用Api19版本. 使用幾個主流的開源庫, 加快迭代速度. 混合編程(Cordova)和動態加載(DL)均有包含. 我比較感興趣的就是 極光推送(JPush) , Akita . 其他的開源庫都比較大眾, 就不多介紹了, 想了解可以直接閱讀相關GitHub或官網.
本文僅做為技術學習使用.
OK, that’s all! Enjoy it!
來自: http://www.wangchenlong.org/2016/05/06/1605/064-pingan-app-analyze/