1.熟悉java语言以及面向对象编程思想
2.熟悉Android四大组件、基本UI控件以及自定义控件、组合控件技术
3.熟悉多线程、Sqlite数据库、okhttp网络开发、Websocket编程
4.熟悉Menmory Profiler、MAT等工具进行内存分析,解决内存泄露、内存溢出问题
5.熟悉JNI技术、C++语言、实现Java与C++互调、了解WebRtc流媒体通讯技术
6.熟悉flutter框架,熟悉dart语言,有跨平台混合开发经验
7.熟悉flutter基础组件、getx等常用三方插件、渲染机制、动画
8.熟悉dart native、 ffi技术、实现dart与C++互调
工作宝
项目描述:工作宝是一个为政企打造的通讯办公客户端,有即时消息、网络音视频通话、通讯录、考勤请假、名片等功能。
责任描述:页面UI与逻辑功能实现,负责登录、最近会话、聊天消息、通讯录、名片业务模块开发
技术要点:
MVP+Dagger2,组织代码结构,构建数据、逻辑、视图三大元素
使用MVP模式将Veiw(Activity、Fragment、Adapter)层中的业务逻辑全部分离出来放到Presenter层处理,让View层只做UI相关的逻辑处理,Presenter层处理业务数据逻辑。
使用Dagger2通过依赖注入的方式来处理View层和Presenter层的依赖关系,将View层和Presenter层进行解耦,降低了耦合度,层级职责明确清晰。
佳米融信
项目描述:佳米融信是用flutter重构工作宝的跨平台客户端。有即时消息、网络音视频通话、通讯录、考勤请假、名片等功能,用flutter实现一套代码多端运行,成为跨平台多终端的融合通信客户端。
责任描述:架构设计、页面UI与逻辑功能实现,用flutter重构登录、最近会话、聊天消息、通讯录、名片功能模块
技术要点:
Flutter+GetX+MVVM搭建跨平台的app客户端
基于flutter+GetX+MVVM搭建跨平台客户端,将界面和逻辑代码解耦。让所有页面都可以用view层来写页面的界面,logic层来写页面的数据处理逻辑。用GetX的依赖注入,来处理view和logic之间的依赖关系,用Get.put()来将logic控制器注入为单例,用Get.find()来获取它们的实例,从而让view和logic之间关联起来。
用Getx中的obx或getBuild来完成view层和logic层之间数据状态双向绑定,从而实现界面和数据状态自动更新。Obx的重绘颗粒度较小,getBuild的重绘颗粒度较大,综合考虑性能和实际场景灵活运用这两种方式进行数据绑定。
用此套框架搭建的跨平台客户端,有清晰的代码结构,代码的耦合度低,可复用性高,可扩展性强,而且一套代码便可在多个平台运行,极大地提高了开发效率。