平安好医生技术栈的分析
kenneth
8年前
<p> </p> <p>平安好医生作为平安旗下的移动医疗应用, 受到平安集团的很大重视, 非常不错. 让我们来分析一下这款应用所使用的技术吧, 多学习多进步. 大家在文中获取需要学习的内容吧.</p> <p>版本: personaldoc_PCGW_V_3.1.2_30102.apk</p> <p><img src="https://simg.open-open.com/show/0d5334f015e5ddfca4784969965a1da9.png"></p> <h2>架构</h2> <p>Apk: 18.5M, 包名是 com.pingan.papd .</p> <p>Android SDK: 构建版本19, 最低版本14.</p> <p>MultiDex: 使用两个Dex.</p> <p><a href="/misc/goto?guid=4958968136876884209" rel="nofollow,noindex">Jpush</a> : <strong>极光推送</strong> . 平安是极光推送(Jpush)的粉丝 :), 大量使用它们的产品. 服务: AlarmReceiver , DownloadService , PushReceiver , DaemonService . 同时, 自开发的 RegistrationIdReceiver 接收器也接收大量Jpush的广播. Jush的Key是 da3f70705b4069f269f15398 , 渠道: PAJK , 即平安健康.</p> <p>百度LBS& <strong>高德定位</strong> .</p> <p><a href="/misc/goto?guid=4958870286501851343" rel="nofollow,noindex">动态加载DL</a> : 动态加载方案DL, 百度的任玉刚开发.</p> <p>小米推送(mipush): 使用的类 XMPushService , PushMessageHandler , MessageHandleService , PingReceiver .</p> <p>友盟统计(umeng).</p> <p>SQLite的So: libsecsqlite3.so, xUtils(ORM)使用.</p> <h2>代码</h2> <h3>com</h3> <p>xiaomi: 小米推送;</p> <p><a href="/misc/goto?guid=4958870286501851343" rel="nofollow,noindex">ryg</a> : <strong>动态加载DL</strong> , 百度任玉刚的库, 非常棒的库.</p> <p><a href="/misc/goto?guid=4958965423947089796" rel="nofollow,noindex">squareup</a> : <strong>Otto</strong> 是一种EventBus.</p> <p>pajk, pingan: 平安健康, 平安, 自有代码.</p> <p><a href="/misc/goto?guid=4959672526585934109" rel="nofollow,noindex">talkingdata</a> : <strong>TalkingData</strong> 数据统计服务, 类似于听云, 平安定制.</p> <p>samsung: 三星的 <strong>SHealth</strong> 库.</p> <p><a href="/misc/goto?guid=4958988893987819953" rel="nofollow,noindex">se.emilsjolander.StickyListHeaders</a> : <strong>StickyListHeaders</strong> 是固定顶部滚动列表的开源库, 3k+的Star, 非常有名.</p> <p><a href="/misc/goto?guid=4958873995635293187" rel="nofollow,noindex">paf.cordova</a> : <strong>Cordova</strong> 混合编程, 类似于RN.</p> <p>autonavi.aps: 高德的自动导航.</p> <p><a href="/misc/goto?guid=4958861985397350932" rel="nofollow,noindex">lidroid.xutils</a> : <strong>xUtils</strong> 是SQLite的ORM, 简化编写, 与Sugar类似.</p> <p><a href="/misc/goto?guid=4958857346536075412" rel="nofollow,noindex">alibaba.fastjson</a> : <strong>FastJson</strong> 是阿里巴巴的Json解析库, FastJson.</p> <p>google.gson: Google的Gson库.</p> <p>tencent: 腾讯的SNS库集合.</p> <p><a href="/misc/goto?guid=4959554913579469928" rel="nofollow,noindex">eu.janmuller</a> : <strong>CropImage</strong> 是图片剪裁的开源库, 400+Stars.</p> <p>pafu: 平安的公共库, 工具和渠道管理, 使用方便.</p> <p>amap.api: 高德定位.</p> <p>sina: 新浪微博.</p> <p><a href="/misc/goto?guid=4959672526585934109" rel="nofollow,noindex">tendcloud</a> : TalkingData数据统计库, 类似听云.</p> <p><a href="/misc/goto?guid=4959672526816885482" rel="nofollow,noindex">paic.zhifu</a> : <strong>壹钱包</strong> , 平安的支付平台.</p> <h3>其他</h3> <p><a href="/misc/goto?guid=4958965423850786925" rel="nofollow,noindex">de.greenrobot</a> : GreenRobot的 <strong>EventBus</strong> ;</p> <p><a href="/misc/goto?guid=4958870764125554362" rel="nofollow,noindex">ru.noties.scrollable</a> : <strong>Scrollable</strong> 是滚动控件库.</p> <p>org.apache.cordova: <strong>Cordova</strong> 混合编程.</p> <p><a href="/misc/goto?guid=4959672526954451094" rel="nofollow,noindex">org.akita</a> : <strong>Akita</strong> 是Android的快速开发库, 一家公司的产品, 非常有意思.</p> <p><a href="/misc/goto?guid=4959672527037201676" rel="nofollow,noindex">org.jivesoftware</a> : <strong>Jivesoftware</strong> 是协同工作的库, 也是一家公司的产品.</p> <p><a href="/misc/goto?guid=4958968136876884209" rel="nofollow,noindex">cn.jpush</a> : <strong>极光推送</strong> , 平安健康非常喜欢, 还做了定制!</p> <p><a href="/misc/goto?guid=4958866344272587751" rel="nofollow,noindex">pl.droidsonroids.gif</a> : 使用 <strong>Gif</strong> 图片的库.</p> <h2>总结</h2> <p>平安好医生的体积相对较大, 升级Android的SDK比较慢, 所以只使用Api19版本. 使用几个主流的开源库, 加快迭代速度. 混合编程(Cordova)和动态加载(DL)均有包含. 我比较感兴趣的就是 <strong> <a href="/misc/goto?guid=4958968136876884209" rel="nofollow,noindex">极光推送(JPush)</a> </strong> , <strong> <a href="/misc/goto?guid=4959672526954451094" rel="nofollow,noindex">Akita</a> </strong> . 其他的开源库都比较大众, 就不多介绍了, 想了解可以直接阅读相关GitHub或官网.</p> <p>本文仅做为技术学习使用.</p> <p>OK, that’s all! Enjoy it!</p> <p>来自: http://www.wangchenlong.org/2016/05/06/1605/064-pingan-app-analyze/</p>