从入行到现在,大大小小项目接触超过15个,完整独立开发项目超过10款,以下挑几款目前正在开发或有代表性的产品进行说明;
项目一: 中兴视通
中兴视通是公司为公司C端用户提供的服务型app,用户通过app自助业务办理,业务退订,业务查询,缴费购买等基础操作.还有一个就是app里面嵌套的拨打电话功能,可以实现全球通话,电话sdk自主实现,抛弃第三方框架束缚.
项目二:酷际通
公司对移动转售业务尝试的一个新的业务模式,用户通过app和配套设备,通过蓝牙实现数据传输,进行读卡写卡操作.让每一个没有经验的普通人,可以方便快捷的做移动转售业务.
项目三:酷商
移动转售业务刚开始的元老级项目,从15年就开始开发,持续迭代至今,是公司支柱型产品.由于移动转售业务的逻辑复杂,以及android版本更新速度快速,该项目在维护过程中花费了大量心血.
项目四:起驾护航(学员版)
15年公司的支柱型项目之一,分为学员版和教练版,本人负责学员版的独立开发以及项目的全程跟进.后因公司资金链问题,不得已解散.
核心技术要点和说明:
1.第三方分享,通过shareSDK来设置.相比较友盟share要简洁方便,并且分享功能更齐全.友盟统计的实现,可以说在统计领域是最好的了,极为简单.消息推送使用极光推送服务,通过EventBus来通过不同的消息类型来通知某些界面刷新,弹出dialog提示等.
2.教练端发布时间列表:<1>自定义布局KAPlanGradView继承自LinerLayout <2>重写必要的构造方法,并初始化数据 <3>在attr中设置starable自定义属性,这样方便在xml中将必要的属性设置进来,如是不是需要外边框等等. <4>让该view不断add每一个需要添加的item(有数据的),并刷新.<5>对外提供必要的方法,以及设置点击监听回调等等.
3.界面之间的数据传递,通过EventBus来设置,可以传递简单的变量或者复杂的对象.实现接单完成,总赚取金额要变化的UI通知,以及底部小红点当前订单数量的通知等.
4.整体网络请求相关使用RxJava和retrofit组合.
5.订单列表中,在当前日期没有数据的情况下下拉空白区域无法触发下拉逻辑的问题通过给布局底部增加一个额定长度的透明布局,使得下拉逻辑可以触发到整体布局中.
6.接口回调,将具体的功能实现完成之后,需要具体的后续操作交由调用者执行.通过定义接口,并在接口中定义必要的抽象方法.而这个接口,需要调用者自己传递进来,在功能区完成某些功能以后,通过接口.方法()就可以将事件传递给调用者.此时,调用者并不用去关心具体的实现逻辑.
7.程序崩溃友好界面.创建AppInfo继承Application,再通过Thread.setDefaultUncaughtExceptionHandler()并传递一个Thread.UncaughtExceptionHander对象,这样在有这个代码执行的时候(有异常产生),就可以调用handler来进入一个自己设置的友好提示界面.当然,可以获取到其中的错误日志信息,从而降低用户的使用感受.