1.熟悉多线程开发,掌握事件分发机制、Handler机制及View绘制流程;
2.熟练掌握MVP开发模式,熟悉设计模式;
3.可根据项目需要,熟练绘制自定义控件;
4.熟练使用常用框架,包括Retrofit、EventBus、OkHttp、Glide、Picasso等。
5.掌握对图片进行压缩、水印等处理技术,及云端图片上传和下载功能的实现和优化;
6.熟悉第三方SDK集成开发:极光、亚马逊、支付宝、友盟、环信等;
7.熟悉WebSocket通讯,有基于Socket的即时通讯开发经验;
8.熟悉常用算法及正则表达式的使用;
9.熟练使用git项目版本管理系统,利用Github和码云等代码托管平台进行团队开发;
10.熟练使用litepal数据库;
11.熟悉内存泄漏、OOM,熟练使用MAT工具进行分析;
12.对MediaPaly有丰富的开发经验,包括网络视频点播;
13.熟练掌握属性动画和补间动画;
14.熟悉多渠道打包机制、代码混淆及加固上线;
一、72 Hours(社交) Android端
项目描述:72 Hours是一款面向全球的匿名聊天软件,用户可以通过发帖或者不同的兴趣爱好,来匹配认识全世界不同的人,通过一键翻译功,使用不同语言的用户也能轻松交流。
责任描述:
1. 参与需求评审以及规划技术方案的可行性。
2. 各版本功能的需求分析、任务分配、工期预估。
3. 与产品、服务端、IOS端、UI协调工作任务。
4. 各个版本的迭代开发,线上问题的处理和bug修复。
应用技术:
1. WebSocket通讯技术;
2. MVP模式开发;
3. Litepal数据库使用;
4. Retrofit2.0+OkHttp3.0+RxJava 链式编程。
5. gradle脚本定义区分开发环境和正式环境。
6. 多线程下多图片视频的上传下载,Glide框架展示GIF与长图;
7. 自定义封装外部控件和刷新动画;
8. 网络视频点播;
9. 仿探探图片滑动功能;
10. 对用户浏览帖子进行缓存,无网络状态下展示。
11. Emoji表情;
12. 手机相册图片选择,聊天历史图片预览;
13. 谷歌、微软翻译;
14. 动态权限获取;
15. 使用Svn进行代码管理。
二、VideoGo(视频播放器) Android端
项目描述:VideoGo是一款网络视频播放软件,用户可以在这里观看来自YouTube、Dailymotion及Vimeo等网站上的热门视频,并能通过地区、分类和关键字搜索快速筛选想看的视频。
应用技术:
1. OkHttp网络框架;
2. MVP模式开发;
3. gradle脚本定义区分开发环境和正式环境;
4. 动态权限获取;
5. EventBus事件监听;
6. WebView视频播放,并集成YouTube播放器。
三、MusicToday(音频播放器) Android端
项目描述:VideoGo是一款音频播放软件,用户可以在这里管理并播放本机上的所有音乐文件,包括收藏、最近播放、换肤、云盘下载等个性功能,同时也可以在线收听广播音乐。
应用技术:
1. 运用枚举实现一键换肤;
2. 集成Dropbox、GoogleDrive实现云端音乐文件下载;
3. 运用OrmLite框架管理音乐文件,包括搜索、排序;
4. 将图片进行高斯模糊作为背景;
5.使用Service控制MediaPlay播放音乐。
四、OMG(星座测试) Android端
项目描述:OMG是一款星座运势测试软件,为用户提供运势解析,星座匹配,恋爱测试,塔罗牌等预测玩法。
应用技术:
1. 内购界面动态控制,后台可动态控制界面展示内容;
2. 自定义控制绘制属性能力图;
3. 对视图部分进行毛玻璃处理,对非会员隐藏结果;
4. 使用Retrofit2网络框架进行网络请求;
5. 集成使用Glide图片框架。
五、师赴(教学、社交) Android端
项目描述:一款大学生艺术、运动教学资源高效整合的App,教师端老师上传教学视频并排课时,学生端由学生根据教练安排选择合适时间。
应用技术:
1. 使用聚合数据和Handler完成验证码短信功能;
2. 使用自定义View和ViewPager实现主界面布局;
3. 使用Xutils3框架进行数据绑定、网络请求和图片加载;
4. 集成并使用支付宝、微信支付功能以及环信即时通信服务;
5. 使用阿里云视频点播服务完成视频上传播放功能。