个人介绍
2. 熟练掌握JAVA和Kotlin语言开发
3. 熟知Android系统跨版本兼容方案(4.3-最新)
4. 掌握rn开发技术
5. 了解前端vue和js开发技术
6. 独自开发过多个从0到1的中大型项目
7. 具备流媒体,收银体系,仓库收发盘等领域性知识
8. 熟练掌握 Android 应用开发,并能独立负责应用程序的开发和维护
9. 熟练掌握Java语言,熟悉常用的数据结构及算法。
10. 了解泛型,反射,自定义注解及其原理,多次使用常用的设计模式重构代码。
11. 熟练掌握JVM原理, 多线程(synchronized,voliate)原理,反射,动态代理以及对ClassLoader 热修复有比较深的理解
12. 精通自定义View,熟悉View绘制流程,能利用事件分发原理解决UI交互问题
13. 对屏幕适配、内存优化,性能优化有实际的调优经验
14. 掌握网络编程以及 TCP、UDP 等相关知识
15. 熟练掌握RxJava/okhttp/retrofit/Glide等第三方架构的使用和原理
16. 熟练使用 MVC/MVVM/MVP 组件化等安卓架构,有实际的架构搭建经验
17. 能熟练使用Kotlin进行应用开发,有AndroidTV开发经历
工作经历
2019-06-01 -2022-03-01泰德网聚安卓开发工程师
项目名称:聚现(2020.1-2022.3) 使用技术: MVVM和MVC混合架构 + ViewPager/Fragment嵌套UI框架 + rxJava/retrofit网络框架 + EventBus组件通信 + Autosize屏幕适配 责任描述:架构设计、需求跟进、页面UI与逻辑功能的实现、屏幕适配 技术描述: MVVM+MVC混合架构 项目采用MVVM+MVC混合架构,由于迭代周期时间长,造成整个项目代码量较大,部分原有功能采用MVC架构,开发新功能用MVVM架构,而使用MVVM架构能将项目分为Model、View、ViewModel三层,主要通过DataBinding在实现View中获取绑定类实例初始化自定义View的途径,对视图和数据进行双向绑定,遵循面向接口编程思想和单一职责原则,将Model层和View层完全分离,实现了业务与逻辑代码的解耦,提升了后期代码的维护和扩展效率。 主要UI框架 项目中主界面使用RadioGroup+ViewPager嵌套Fragment的方式,通过对viewpager切换状态进行监听,根据提前于Fragment生命周期的UI可见性setUse
教育经历
2015-09-01 - 2019-06-01湖北民族大学计算机科学与技术本科
1. 专业成绩排名第二 2. 大二大三获得校级奖学金 3. 具备英语四级,法语能力
技能
项目名称:大蓝鲸(2019.11-2021.5) 使用技术: MVP架构 + ViewPager/Fragment嵌套UI框架 + rxJava/retrofit网络框架 + Autosize屏幕适配 + 插件化换肤 责任描述:需求跟进、页面UI与逻辑功能的实现、插件化换肤功能、屏幕适配 技术描述: MVP搭建app框架 项目使用MVP架构,将项目分为Model、View、Presenter三层,把Activity中的业务逻辑分离出来,使得activity只关心UI逻辑的处理,presenter层则承担了控制界面响应和绑定数据的责任,View层操作事件触发直接通知Presenter,在Presenter中处理了业务逻辑后再通过抽象出的View接口返回给View层响应,降低耦合度,细分了各层职责,遵循单一职责原则,令视图数据逻辑更加清晰。 主要UI框架 主界面使用RadioGroup+ViewPager嵌套Fragment的方式,通过对viewpager切换状态进行监听,根据提前于Fragment生命周期的UI可见性setUserVisibleHint()方法中设置的标识位,来判断当前Fragment处于不可见/可见状态,达到对当前对Fragment进行懒加载,只有在界面可见时才进行网络访问和数据加载的效果,避免activity刚创建的时候就需要初始化大量资源造成界面卡顿、来回切换界面多次请求接口降低了服务器性能等问题。 网络模块 基于Retrofit+RxJava进行了二次封装,构建了初始化Retrofit工具类的基类ApiFactory,内部对OkHttpClient进行初始化并配置了相关拦截器,避免重复创建服务器的连接浪费系统资源。由基类创建出一个只关心服务器接口及响应数据的ApiService接口类,遵循面向接口编程的思想,让业务开发者每次增加新接口时只需添加相对应的接口和返回实体类,使用起来简便快捷。 屏幕适配 采用今日头条适配的AndroidAutoSize方案进行屏幕适配,通过屏幕分辨率px值= 密度无关像素dp值 * *像素密度metrics.density = dp * (dpi/160)这个公式,得知dpi是根据屏幕真实的分辨率和尺寸来计算的,每个设备都可能不一样,所以 density可能存在不同,使得同一个组
项目名称:聚现(2020.1-至今) 使用技术: MVVM和MVC混合架构 + ViewPager/Fragment嵌套UI框架 + rxJava/retrofit网络框架 + EventBus组件通信 + Autosize屏幕适配 责任描述:架构设计、需求跟进、页面UI与逻辑功能的实现、屏幕适配 技术描述: MVVM+MVC混合架构 项目采用MVVM+MVC混合架构,由于迭代周期时间长,造成整个项目代码量较大,部分原有功能采用MVC架构,开发新功能用MVVM架构,而使用MVVM架构能将项目分为Model、View、ViewModel三层,主要通过DataBinding在实现View中获取绑定类实例初始化自定义View的途径,对视图和数据进行双向绑定,遵循面向接口编程思想和单一职责原则,将Model层和View层完全分离,实现了业务与逻辑代码的解耦,提升了后期代码的维护和扩展效率。 主要UI框架 项目中主界面使用RadioGroup+ViewPager嵌套Fragment的方式,通过对viewpager切换状态进行监听,根据提前于Fragment生命周期的UI可见性setUserVisibleHint()方法中设置的标识位,来判断当前Fragment处于不可见/可见状态,达到对当前对Fragment进行懒加载,只有在界面可见时才进行网络访问和数据加载的效果,避免activity刚创建的时候就需要初始化大量资源造成界面卡顿、来回切换界面多次请求接口降低了服务器性能等问题。 网络模块 基于Retrofit+RxJava进行了二次封装,构建了初始化Retrofit工具类的基类ApiFactory,内部对OkHttpClient进行初始化并配置了相关拦截器,避免重复创建服务器的连接浪费系统资源。由基类创建出一个只关心服务器接口及响应数据的ApiService接口类,遵循面向接口编程的思想,让业务开发者每次增加新接口时只需添加相对应的接口和返回实体类,使用起来简便快捷。 组件间通信 界面之间采用基于观察者模式的EventBus进行通信,面对UI主线程刷新或后台线程中执行耗时操作时,使用EventBus发送指定类型的事件,订阅者界面各自定义接收方法,仅需通过注解设置接收的ThreadMode绑定和接收对应事件形参,达到有效解耦事件的发送和处理的效果,而且开销小、代码更加