今天跟大家唠唠我搞航空公司安卓APP的那点事儿,纯属个人经历,大家随便看看哈。
一开始接到这个项目,我是有点懵的。航空公司APP?我平时也就用它们买买机票,看看航班信息,具体怎么开发的,完全没概念。
第一步:摸清门道
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
拿到需求文档,我先是仔仔细细地啃了一遍。然后就开始疯狂体验市面上各种航空公司的APP,像什么东航、南航、国航、还有春秋啥的,全都下载下来,一个个点,一个一个试。看看人家是怎么做值机、选座、航班动态、会员积分的,把觉得好的地方都记下来。
光看还不行,得动手。我就开始着手搭建项目框架。用的Android Studio,gradle版本也选了最新的。然后就是各种依赖,okhttp、retrofit、rxjava,这些网络请求和数据处理的库是少不了的。UI框架我选了Material Design,看着舒服点。
- 网络请求:OkHttp + Retrofit
- 异步处理:RxJava + RxAndroid
- UI框架:Material Design
UI这块儿,我不太擅长。好在设计师给力,出了详细的设计稿。我就照着设计稿,一点一点地把界面码出来。这里面最麻烦的就是各种自定义View,像什么航班状态的进度条,还有座位选择的九宫格,都得自己画。
第四步:对接接口界面搞定了,接下来就是对接接口。航空公司的数据接口那叫一个多,航班查询、机票预订、支付、值机、会员信息… 反正我是对着接口文档,一个一个地调。中间各种坑,什么数据格式不对,参数错误,签名验证失败,搞得我头都大了。
第五步:解决bug测试阶段,各种bug就冒出来了。什么崩溃、闪退、界面显示错乱… 我就天天debug,改bug。印象最深的是一个内存泄漏的bug,搞了我两天两夜才找到原因。
一些小经验
多用log: 打印log是debug的利器,关键时刻能帮你快速定位问题。善用工具: Android Studio自带的Profiler可以帮你分析内存泄漏和性能瓶颈。多交流: 遇到搞不定的问题,多向同事请教,集思广益。这回开发航空公司的APP,对我来说是个不小的挑战。不过最终还是磕磕绊绊地完成了。虽然还有很多不足之处,但至少让我对Android开发有了更深的理解。以后有机会,再跟大家分享其他项目的经验。