1. 有LUA脚本语言写触动精灵项目开发经验。
2. 了解python Diango框架,有项目开发经验。
3.了解易语言,有过简单桌面应用程序开发经验。
4.了解微信小程序,有上线项目开发经验。
5.了解small、伪C、arm汇编语言。
6.了解xposed、filldler、wireshock、Fupk3、ida64等工具的使用。
7.掌握UML的基本使用,编写用例图,类图,时序图
8.有开发IOS经验。
9.有产品经理方面经验(上线产品滴滴挂号,滴滴医生,课海)
10.了解C/C++。
11.有NDK开发经验.(并未参与C底层算法编写,只是将算法组写好的模块进行C层业务调用,然后向Java层通信)
工作7年间,开发过的项目多达20余款,其中千万级项目班海,百万级项目课海,进行过发布会项目牛谈均属其中的代表作,在以下的项目经验介绍中就不会拿出单独的项目介绍了,而是将我进几年认为的成果简单介绍下,一个是我的框架的演变过程,另一个是针对我的框架所写的一套自动代码生成器插件。
★ 框架的演变
项目描述:
为了达到统一结构(多人开发时代码看起来像一个人写的,方便阅读)和提高开发效率的目的(将重复性的开发进行抽取封装,自定义各类控件方便团队使用,简化代码,对三方进行二次封装,以期在更换三方时不用过多修改业务层代码)。在多年的开发中逐渐形成了自己的框架:
第一阶段:框架和项目混合
缺点:1.在新开发项目时需要对框架进行抽离,耗费大量时间。
2.框架于项目耦合性强,难以有效抽离。
第二阶段:jar包引用模式
将框架封进jar,做到框架与业务层初步分离
缺点:1.无法分离资源文件
2.id索引问题极度复杂
第三阶段:SDK模式
解决了资源与项目无法分离的问题,彻底解决项目与业务层的分离,以后开启新项目只需导入SDK即可,提高了开发效率。
缺点:1.由于要维护框架,故在多项目开发时,会将框架SDK和项目都做为一个Module来使用,这样会使Project越来越大,在编译某一项目时,Studio会同步预编译整个Project,大大延长了项目编译运行时间。
2.为解决编译运行时间过长问题,则将SDK和整个Moudle拆解,使一个SDK配套一个项目Module组成一个Project,但这样加大了框架的维护难度,一处修改得处处修改。
第四阶段:现在的模式,Android studio Maven 仓库注入aar文件
优点:1.做到了一个项目一个Project,解决了Project无限增大的问题。
2.只需维护Maven仓库这一套框架,彻底与项目解耦。
技术要点:
1. Maven 本地仓库的搭建及Bintray Jcenter远程仓库搭建
2. 框架NXCommonLibrary基础库,规范了Activity、BasePresenter、BaseFragment、IBaseView、CommonAdapter、BaseApplication、Utils库等基础骨架。
3. 框架NXHttpLibrary引用到NXCommonLibrary,网络层框架,包含基本的get、post、put等网络请求、文件下载及下载上传进度回调、支持自定义缓存模式、支持https访问及自定义ssl证书、支持自定义callback,自动解析网络数据、支持数据拦截等作为核心网络层组。
4. 框架ViewLibrary组件库,自定义了各类型开发中需求有的组件。
★项目名称:plugin-代码自动生成器插件
项目描述:
当一个程序员积累了大量的代码,由一个菜鸟过渡到了一个老鸟后,他更多的会使用Ctrl+C和Ctrl+V。任何一个功能,其中固定写法的初始化控件设置产生的代码量就会占到项目的60%+,所以一般在写功能时,经常会从一个类似的功能处粘贴一份,简单的修改业务逻辑就形成了新的功能。当有一天,懒到连粘贴复制都不想的时候,开始琢磨如何让计算机帮我把这些重复固定的代码完成,构思来源于经常用的插件GsonFormat和Android Code Generator等插件。
优点:1.在团队成员频繁粘贴复制的过程中,往往一些关键性的注释不进行修改或者无用代码依然保留,这样使我的项目看起来很糟糕。所以自动生成的代码架构没有多余代码,注释完全根据自己定义好的,整体性更加优美。
2.大大加大了开发效率,只需要解决关键点业务逻辑即可。
技术要点:
1.整套插件的流程设计。
2.流程为1.自己画布局(需要初始化id的加上id,不需要的不加id。需要自动生成注释的加入注释,不需要的不永加入)2.准备好json串,3.插件解析xml布局文件,发现有id属性的会对其记录并生成初始化相关代码。4. 插件解析xml布局文件发现带注释的也会生成同样的注释,5.解析每一个带id的控件,包括(框架ViewLibrary组件库和Android原生的控件)对其固定代码生成。6.更具json自动生成JavaBean,并形成网络层Presenter代码。7.加入网络拦截,可使用本地json调试逻辑开发。8.自动生成MVP结构代码。
★项目名称:智能中央空调(蓝牙/wifi)
项目描述:
智能中央空调分为总控和分控两个部分,可通过蓝牙和wifi两种方式进行连接,总控
课海APP是三海教育旗下一款有效整合“互联网”与教育两大领域的中小学在线学习平台。为学生和家长传递学习方法、学习兴趣、学习效率和亲子关系等四大价值。 这个项目我以移动端主管的角色参与的,是Android第一行代码的书写者,维护整个项目架构。带领团队攻克了一个又一个技术难题。
大贺金服是基于领先的金融科技水平,以向用户提供信息资讯/金融教育为核心功能的金融平台。通过高质量的内容选择,增强用户选择投资机会/识别金融风险能力。在金融圈板块,大贺金服致力于金融投资领域,将资讯视野扩展至全球,将同步发布海内外为主主要金融市场的动态和信息大事件。在金研院板块,大