自我介绍
您好!我目前就读于湖南工业大学,将于2018年毕业,大学学的是计算机科学与技术这个专业。大学期间,在学院的创新创业实验室自学了两年的Java与Android开发,期间开发过一些自己的一些作品去参加各类学科竞赛,比如,“私家车”项目就获得了中国地质大学举办的“全国高校移动互联网(MIAC)应用开发创新大赛” 三等奖。目前的话,就是在准备秋招,并打算找一份Android开发的工作。
项目介绍
项目:私家车
介绍:私家车是一款助手类软件,主要功能是为广大车主提供便捷的服务。这个项目已经在github上开源,你可以在我的主页上看到相应的图文介绍。
它主要分为两大模块:
全能地图和实时业务
全能地图的主要功能有:
- 目的地搜索
- 周边服务点展示
- 目的地导航的功能,使用的是百度地图的第三方SDK
另外一个则是实时业务模块,也就是我们app主页面显示的横滑工具栏。
它主要的功能是:
1.通知移车
2.今日油价
3.违章查询
4.车辆保险等功能
主要用到的第三方库有:bmob后端云,车首页查询违章的api,易源数据查询油价(之前使用的是聚合数据)。
我主要负责的模块是全能地图,即百度地图的二次开发,主要难点的话就是
学习百度地图API的使用,方法是阅读官方文档和google查询,以及学习相应的demo.
屏幕适配问题
采用了网上流行的一种方法,将所要配对的手机的屏幕分辨率与480X320进行换算,并定义一个新的变量去代表px.比如说960:480是2:1的关系,那么新定义的变量x1,对于480则代表1px而对于960则代表两px。最后,再使用自动化文件生成工具去生成相应的比例文件放入各自的values包中,这样系统就会根据对应屏幕的分辨率进行选择,而实现多屏幕的适配。网络请求的一些问题:
发起一个请求,但是回来是Activity已经销毁。还有就是网络很差的情况下请求失败后需要重试。以及多次请求结果一样怎么处理。UI效果实现:
横滑工具栏:使用自定义布局实现,动态添加5个布局,然后设置宽高,监听滑动事件。后期改RecyclerView
仿状态栏下拉动画:使用线程和设置layoutparams的margin实现,后期改用属性动画图片加载问题
内存不足死掉。listview中显示图片,快速滑动时如何让解决?以及ScrollView嵌套listView如何解决滑动冲突?更新主题如何让所有的启动页面均生效:EventBus。方法数越界(65536):使用multidex,在buildTools高于21.1版本的情况下,在gradle中配置打开分包的功能并导入multidex即可。
重复依赖问题:
compile('com.mxn.soul:flowingdrawer-core:1.2.0'){
exclude group: 'com.nineoldandroids'
}
compile('com.rengwuxian.materialedittext:library:2.1.4')
其他:密码进行过md5加密,自定义Crash进行日志收集。
第三方库:
eventBus,okhttp,retrift,rxjava,glide。
源码:
自定义View ,View的分发机制,Handler消息机制,Binder机制,Activity的启动,Service的启动。