个人介绍
工作经历
2018-09-01 -2022-10-01北京陌陌科技有限公司Android工程师
赫兹是陌陌集团在语音赛道独立出来的一款创新APP,从18年入职就参与到初始项目的建设中。一直正向运营和发展峰值DAU曾达到将近50w,随后转型商业化,丰富房间玩法,在语音赛道陌生交友的语音APP,给更年期的人群提供了一个个性化的选择。
2016-09-01 -2018-09-01艺龙网Android高级工程师
艺龙旅行是中国领先的在线旅行服务提供商,纳斯达克上市公司(NASDAQ: LONG)。提供全球57万家酒店预订服务,还有丰富的机票,车票,景点等实力业务
教育经历
2018-09-01 - 2022-06-01吉林大学计算机应用软件本科
技能
责任描述: 个人独立开发完成的一款Android Material Design风格的APP。 采用MVP模式搭建APP框架,UI层,数据层,管理层; 抽取Base类,抽取共同特征的View,presenter,entity等; 自定义擦除式的引导页,MD风格的侧滑以及Tab + fragment; 引入换肤lib完成动态换皮肤的功能; 网络层数据层采用OKhttp(6.0SDK删除了HTTPclient API)完成数据获取,在model中,UI实现对应presenter; 不同类型的文章采用枚举标示,在recylerview中实现多种item以及网络GIF和视频; 剩余功能包括动画,社会化分享,适配,云测试,上线等。 项目描述:独立开发的个人上线APP,项目集中了年轻人的信息,年轻人的话题,年轻人的科技圈等,阅读类的APP,年轻专属。 技术要点: 项目MVP架构模式的搭建。 Android MD风格理解以及design包V4包新控件的掌握; 自定义View的实现,自定义属性attrs,auto命名空间,xml引用,View构造中获取自定义属性,然后 测量,布局,绘制,注意处理View padding,以及测量模式; UI框架采用drawer + viewpager + tab 实现,注意Tab的获取(mTab.newTab())和viewpager的标题的关联; BaseFragment抽取用来展示不同类型的新闻包括音乐,视屏,行不行以及科技圈等; Fragment中的recyclerview结合SwipeRefreshLayout 以及自定义waterloading 实现下拉刷新和加载更多,注意SwipeRefreshLayout自动刷新的显示要放到recyclerview设置layoutmanager之后; Model层的封装构造的时候传入View interface,在Presenter中的IMPL中实例化Model以及获取网络数据,解析服务器resp在View不同的UI回调把数据传递到界面,刷新UI; 利用butterknife注解省略findViewByID,引入changeColor model实现热换肤,引入okhttp获取网络数据,Glide处理图片和GIF的OOM,友盟社会化分享等; 不同类型的数据展示采用往fragment传入type,用来recylerview区分以及加载,新闻具体详情,根据具体的type决定header是Image还是GIF还是视频; 沉浸式状态栏的实现,建立V19style, 兼容4.4和5.0+。
责任描述: APP模块化抽取; APP中的所有的自定义控件,以及交互效果; APP版本更新以及部分代码重构包括模块化的城市列表以及首页; APP中封装公用部分的工具类公用弹窗公用loading等; 需求模块化拆分,分配,协同完成(新版中的红包任务等) review代码以及解决crash,优化代码 每周技术例会总结这周Android研发中遇到的问题总结以及分享一些知识点 项目描述: 公司产品亚程旅游主打新加坡,东南亚一带旅游产品,实力打造打包旅游东南亚一带,以及其丰富的旅游资源以及具有竞争力的套餐著称! 经典的Tab选显卡加首页RecyclerView混搭item流畅提升不少 广告轮播结合本地调用H5完成活动推荐以及抽奖 新用户红包机制吸引用户 多种资源打包入口可以自由选择 技术要点: 项目MVP架构模式的搭建。 线程池的引入避免项目中子线程中到处newThread 模型的多次异步转换采用RxJava操作符来实现 Retrofit结合RxJava封装网络层并抽取单独的module给宿主APP依赖 抽取Base基类,UI类中封装了统一的错误页面,没网页面以及数据错误 基类请求和结果的采用泛型接受,构造统一的request和response 封装统一的log根据打包的版本控制是否输出 采用JIN加密网络请求, 配置gradle多个渠道以及不同的版本以及自动化打包给QA团队 Google推荐的新控件引入