路由组件我负责开发了 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、 为了解决少数手机接收不到零点分割广播,在计步传感器回调数据时,判断当前时间是否与上次回调数据的日期是否不同,日期若不同,则判定为隔天数据,从而计步模块数据归零并重零开始计步。Android 端功能开发1、 以 AOP 切面设计编程方式,通过 AspectJ 工具对重要的方法进行监控,对 App 所有Activity 的生命周期进行日志监控并埋点处理,降低了代码间的耦合性。2、优化了在线客服功能模块,采用两个 HandlerThread 对图片分别进行生成缩略图、压缩缩略图操作,解决了上传图片体积过大速率慢的问题,将聊天列表中的文本、图片样式修改成了仿微信的聊天样式。Flutter 端功能开发3、 开发了仿美团菜单列表的控件、自定义日历控件、省市区三级选择控件、选择菜单等控件封装提供给同事使用,封装了高德、百度、腾讯、苹果等第三方地图软件的路线搜索功能 api。4、 为了解决 h5 开发的地图功能卡顿问题,替换了由 Android Native 端开发的地图功能,Native 端集成了高德地图SDK,在 Flutter 里面嵌入了 AndroidView 进行开发,两端之间通过 MethodChannel 进行数据通信以及操作。提升了使用流畅度以及用户体验。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论