来这家公司三个月的时间了吧,这三个月每天都是无比的充实啊。来这个公司让我最大的改变就是改掉了以前那个上班就是聊QQ,刷微博,逛淘宝的臭毛病。感觉现在才是在上班,以前都是在混日子。没有了以前的浮躁、抱怨,现在心里充满了踏实,那份靠自己努力换来的踏实。不过中间一个月的时候我有过之前那苗头,打开了QQ,但刚登上我就又退了,觉得自己向强大迈出了第一步。
说一下我的项目吧,我以前是做java的,来这个公司是第一次接触android,不过感觉还行毕竟都是java,感觉没什么大难度,其实就是思想,思想在转变,我负责的项目只有我一个人,从美工到后台都我一个人负责,分类来吧。
1. 与硬件通信
这是我感觉最摸不到头脑的地方,以前从没来没与硬件通信过,我们是采集硬件数据,用USB转串口,然后再用串口读设备的数据。虽然面临的是同一类设备,但不同设备型号不一样,波特率不一样,协议也不一样。以前从来没做过与设备通信一下子蒙了。一个星期吧,也没找着北,后来与这个公司的一个老员工聊天时,他不经意的说了一句,可谓是一语惊醒梦中人啊,他说你就先找一个设备,然后先跟这一个设备做到能通信,能识别,以后的东西慢慢扩充去。其实也应该是这样,我开始的时候做了一个星期的规划,要做成什么什么样,像以前那样画图,写方案,但现在不同,没有具体需求,就是老总的一句话,就要做一个项目,需求不定,规模也不定,所以跟以前是完全不同的两种情况,这应该叫迭代吧,先来个基础版,再一点点往上添。于是,我找了一个设备开始了我的研究。
给所有想和串口通信的人分享一点经验,你们可以从网上找一下FTDI的开源项目研究一下,特别好。然后所有想走USB的人建议你们稍微的看一下USB2.0的协议,真的受益匪浅,开始我用controlTansfer的时候,虽然每个参数的含义都知道,但从网上看人家传的参数,我居然不知道那是怎么来的,虽然能清楚的知道那个十六进制数每位的含义,但总感觉不通,有什么地方云里雾里的。后来研究了一下USB2.0,又找了一下我设备的通信协议,好好的研究了好久,现在随便来个我设备的命令吗,十六进制的我都能背上来他是啥意思。。。以前我一直以为那些协议就跟java的api似的不会的查去得了。但其实协议更像java基础,你要连基础都不会,到时候连查你都不知道去哪查。(其实以后我应该多写文章,把哪遇到的问题,都列出来,没准谁也会遇到呢,以前没写过技术文章,以后一定改了)
2. 架构
说架构呢感觉有点空,因为我就是一个假大空的人,哈哈,技术一般般,但还总想整点洋的,就跟小燕子似的,肚子里明明没什么墨水还总想说个成语,竞出洋相了。我先是做的工厂,虽然我现在是针对一个设备进行通信的,但考虑到以后的扩展,做了个接口,然后每个协议解析类都去实现这个接口,方便以后扩展和维护,然后封装了一下数据库访问,其实我数据库那部分写的特别垃圾,等忙完这一阵好好优化一下。好像也不没什么了,真不明白当初我研究了那么久,原来就这么两行字,还有一行多废话。
3. UI界面
说实话,可能是我好久没有正经的做程序了吧,有点慌乱,按以前我的风格,我都会先把有用的控件封装一遍,比如我在两个界面都用到了一个listview,里面包含三列,两个文件和一个复选框,数据源都是一样的,但开始我居然是复制了两遍,这两天开始测试,我实在无法忍受我写的垃圾代码,才把它们提取出来封装了一下。以前我做过extjs4, 当时也是要求动态设计报表,然后解析设计的报表,我上来先是搭了个架子,然后把控件按我的套路封装了一遍,其实这次应该像上次一样,做好准备。不过这样也好,因为我不可能考虑到所有东西,用到时再一点点提取也可以。慢慢来,因为我对android控件还是有一些不太熟悉。其实感觉界面没什么,但调起来的时候费死劲了,尤其是找素材一个个图标的找,现在感觉找图标的时间跟写代码的时间快差不多了,而且我总共也没几个图标,推荐给大家一个特别好的素材网http://www.easyicon.net/
4. 通信
说实话,多线程是我的软肋,一直都是,从来没好过。但现在做这个通信,弄一个线程一直监听着数据,然后数据接收完之后,返回给我的监听接口,然后我在做数据分发,好家伙,生怕写不好弄了本java编程思想研究了一下,但每次都是看了前三节后面的就看不下去了,这也也不例外,开始先写了一版接收和发送数据的,不太好用,但当时就想赶快弄完,也没管好用不好用,后来那块接收到的数据一直有错误,实在受不了了,又改了遍,才没问题了。虽然我不能说我的多线程好了多少吧,但最起码给我扫了扫盲。
5. 重构
说两句重构吧,其实我对重构理解的不深,但我现在越来越发现没有哪一个人可以一开始就把代码写的很完美,真正强大的代码都是在一次又一次的重构中产生的。先完成基本功能,能写好的地方就写好,写不好的地方,先实现了,然后隔两天再翻过来重构也好,优化也罢,你会发现你的思路比以前要清晰,也更加知道自己应该怎么做。
先说这么多吧,今天把项目给我们领导看了看,我们领导就只给了我一句话,感觉太简单了,我做了三个月的东西他来了句太简单了,特别委屈的想反驳他,但后来一想时间会证明一切的,我觉得我的项目就是坚实的地基一样,只有地基稳了才可以盖房子。
以前从没有这样认真,正经的做过一份工作,也从来没有老总一句话做出一个项目来过,更没有从头到尾一个项目只有我一个人过。所以,努力吧,虽然已经是个奔三的人了,但真是对不起以前耽误的岁月啊,现在一点点的全找回来

被折叠的 条评论
为什么被折叠?



