基本信息

案例ID:181900

技术顾问:SENSE - 7年经验 - 上海携程计算机有限公司

联系沟通

微信扫码,建群沟通

项目名称:携程

所属行业:生活消费 - 出行

->查看更多案例

案例介绍

路由组件

我负责开发了 Android 端的路由组件:

1、 实现方式:通过在 AndroidManifest.xml 里面设置每个 Activity 对应的别名,在App 启动时初始化一个map,用来保存 Activity 的别名、对应的 Class 对象,在需要跳转页面时只需要在 map 中搜索到对应的Activity的Class对象即可跳转。

2、 为了解决 onActivityResult 返回结果代码繁琐的问题,在 Activity 上添加了一个无页面的Fragment,通过Fragment 的 startActivityForResult 跳转页面,并且在 Fragment 的 onActivityResult 去回调接口,并返回数据给 Activity。

3、Activity 的别名支持设置一个或者多个,可解决同一个 Activity 对应不同的业务场景问题。 通过定义别名为“lc”的透明 Activity 来实现检查是否已经登入账号的需求,只需要跳转“scheme://lc/alias”即可完成登入账号成功后直接跳转 alias 别名的 Activity 的需求。

水印打卡相机组件

我负责开发了水印打卡相机功能,可以进行短视频的录制等,解决问题如下:

1、为了解决无法直接对外部纹理添加水印的问题,通过先将外部纹理绘制到 FBO 的纹理附件上进行添加水印操作,从而实现水印效果。

2、 为了解决预览时图形效果是变形的问题,采用了 OpenGL ES 正交投影的方法,从而实现正常的预览效果。

计步器模块

我负责开发了每日计步功能,类似*运动,支付宝计步功能,解决问题如下:

1、 由于 android4.4 以下或者一些特殊的*不提供计步传感器,所以这些机型采用加速度传感器进行计步;针对android4.4 以上提供了计步传感器,通过计步传感器计步功耗小,计步准。

2、 由于计步传感器不会根据天来分割,只是返回当前步数的总和,为了解决跨天计步模块归零问题,通过零点分隔广播,来对计步模块进行分割,只要跨天了计步模块就归零并从零开始计步。

3、 为了解决少数*接收不到零点分割广播,在计步传感器回调数据时,判断当前时间是否与上次回调数据的日期是否不同,日期若不同,则判定为隔天数据,从而计步模块数据归零并重零开始计步。

相似案例推荐

其他人才的相似案例推荐

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系聘用方端客服
联系聘用方端客服