1.有良好的java编程基础,熟悉 Java 编程思想,具有良好的编码风格,并熟练运用部分设计模式。
2.具备良好的 Android 基础,熟悉AndroidStudio的使用,拥有良好的编程能力和编码规范,具备框架搭建能力、设计能力、需求分析能力以及撰写开发文档的能力,具备独立开发能力。
3.有负责软件整体和模块设计的经验,熟悉MVP设计模式的应用,有项目重构的经验。
4.熟悉常用第三方开源项目比如Volley, OkHttp, Glide的使用,并进行适当的封装。
5.有解决技术难题的经验,多次解决项目中遇到的关键问题。
6.有屏幕适配,性能优化,内存泄漏优化方面的经验,熟练掌握和APP 安全、性能、稳定性等技术。
7.熟悉UI事件传递、布局、绘制等原理,有良好的自定义view经验。
8.熟悉敏捷迭代式开发,有一定的图像处理的经验,了解NDK开发。
9.熟悉网络异步应用的开发模式, 熟悉网络通信机制,对Socket、TCP和HTTP有一定的了解。
10.有较强的逻辑思维能力,善于分析、归纳、描述、沟通、和解决问题。
11.熟悉C++代码通过NDK编译接入。
项目一:ECG心电项目
开发工具:Android Studio
项目简述: 通过蓝牙连接心电设备,通过蓝牙接收数据实时显示用户心电情况,并且管理用户数据,通过服务器存储和本地存储用户数据。
项目职责:独立负责APP的开发。
主要内容:
1.搭建app的框架,从头开始开发app。
2.用cmake的方式接入C++的数据处理的代码,手动编译出NDK不自带的sqlite3和curl库。
3.实时回执蓝牙传过来的心电数据的波形。
4.界面的编写。
项目一:一键搜
开发工具:Android Studio
项目简述: 一款主打通过网络搜题的app,主要的流程是在app中拍照后通过算法识别出图片中的数据然后通过网络传到后台服务搜题,服务器搜到题目后返回结果到app端显示结果。并包含查单词,翻译等功能,运用了相机的拍照,取预览帧等方式获取图片数据,数据分为yuv和jpeg两种分别进行处理,对于拍照速度,搜题速度,空中传输数数据时间和结果显示的速度要求较高,是一款功能复杂,逻辑复杂,界面显示复杂的app。
项目职责:和另外一人共同开发项目并完成文档编写,担任主要负责人的角色,分析产品需求中的技术难点并给出解决方案,同时把任务拆分并分配给其他人。
主要内容:
1.负责项目的重构,把用到相机流程的业务和界面交互的业务分开降低耦合,重新分包,用MVP设计模式重写部分的模块,优化项目中的逻辑流程。
2.优化代码的格式和app的性能,和产品交互一起制定性能指标并且完成指标。引入常用的第三方组件,RxJava代替Asyntask实现异步,Realm代替sqlite实现数据存储,引入Lottie和UI配合替换项目中用到的帧动画以降低内存暂用,引入BlockCanery和LeakCanery分析卡顿和内存泄漏。
3.制定稳定性目标,开始跑monkey,多渠道打包编译出一个monkey模式的版本,将app中的一些弹框和不容易点到的按钮暴露出来便于monkey跑到,目标从开始的500ms间隔跑24小时不崩溃到离开时能跑300ms间隔24小时不崩溃。
4.完成迭代任务中的工作内容,并保证每个版本的后台异常率在千分之三以下。
项目二:手机相册
开发工具:Android Studio
项目简述:一款手机的图片查看软件,有设置桌面和锁屏壁纸功能,同时有图片裁剪,滤镜,涂鸦等类似于美图秀秀的功能,是在android原生相册上进行二次开发的app。
项目职责:负责app的独立开发
主要内容:
1.梳理原生相册的流程,画出流程图,方便能够快速定位进行处理。
2.完成迭代中的需求,分析异常的log文件解决问题后记录问题,方便其他同事进行接手时对于重复的问题进行快速上手。
3.原生相册为了加快图片绘制速度所有界面都由opengl进行绘制,去了解opengl的原理并实现一些UI提出的复杂动画。
4.使用NDk接入android原生提供的滤镜的功能。
项目三:平板相册
开发工具:Android Studio
项目简述:一款能查看平板上的所有图片的看图软件,从0开始开发。
项目职责:独立开发项目并完成文档编写。
主要内容:
1.在完成迭代任务的同时保证app的稳定性。
2.性能优化,引入线程池,优化刷新图片时的线程管理,引入Glide图片加载工具,加快图片的加载速度,用属性动画替代帧动画,减少内存占用,对图片加载进行分页加载,提高图片加载速度。
3.解决Glide使用的时候遇到的各种坑,比如和RecycleView配合使用时图片大小闪动的问题,加载gif花屏的问题,加载视频缩略图慢的问题。
项目四:名师辅导班
开发工具:Android Studio
项目简述:一款在线视频播放软件,支持课程购买。
项目职责:协助完成项目开发。
主要内容:
1.引入支付宝sdk,实现支付功能,引入百度sdk显示位置。
2.解决webview带来的内存泄漏。
3.使用volley替代原生http请求。
4.完成部分模块的逻辑调整。
项目五:购物系统(在校参加比赛的项目)
开发工具:Eclipse
项目简述:一款实现用户登陆,注册,在线购买商品的app。
主要职责:独立进行整个app开发。
主要内容:
1.负责app端功能的开发。
2.在阿里服务器上搭建后台服务器,用MySql实现的数据的增删改查。
3.设计逻辑和交互。