J2ME开发经验总结

现在的工作是基于有限设备开发(CLDC),所以以前很多不用考虑的很详细的地方,现在也要开始注意了。
其实,主要是效率问题。

1.关于Vector
看过Vector的源码之后才发现,其实就是一个Object数组,只是在发生insert,remove,add方法(当插入索引大于现有数组最大下标时)时,调用native static方法System.arraycopy来生成一个加入了新内容的数组,并把该数组赋值给原有数组。 所以我们可以大胆放心的使用size()了,因为它像数组一样返回了一个属性,而不需要计算。

2.关于UI
刚开始,从画ui开始,说实话,画的人蛋疼。由于之前没有类似的经验,不太懂各种坐标的换算,而且对图形、动画的理解也很浅,也没什么方法,画起来真的很辛苦,脑子想晕了,很多坐标间的关系也搞乱了。后来发现画草图这方法不错,先把要实现的ui组件用草图先画出来(类似于工程图纸),先大致标好坐标,然后把坐标间的依赖关系列出来,再去用程序实现。

3.关于简洁
虽然买了《重构》一书,但还真没怎么看,结果问题就出来了。之前搞了1年多的j2ee,代码写的可谓随心所欲、天马星空,虽然有提高质量的意识,但是呢,由于没有深入的思考和code review,质量可谓不高。这几天,花了好几天画了个tabbar,功能上基本没有问题,但是和经理做review的时候却是漏洞重重,并且发现了一个bug(我自己没测试到)。按照经理的想法改完之后,不得不自叹不如,即便是对基本的java语法,用的也没有高手风骚,更别提方法的设计乃至结构。拿ssh来入门,真是害死人哪。

4.关于操作符
很少用|,&,<<,>>等操作符了,现在看来为了效率"不得不"用了。

5.关于Image
Image的getHeight,getWidth这都跟获取属性的方法,其底层实现就是一个return,不需要计算。而且Image的属性都是在调用Image的native构造函数时被初始化的,所以可以放心使用。另外,Image有个getRGB(rgbData, offset, scanlength, x, y, width, height)方法,可以给rgbData(int[]型)存储该图片的rgb值,之前在其它坛子看到有人问图片的翻转、渐变等问题,看来可以用该方法得到rgb数组,然后对每个像素进行相应的操作就可以实现。

你可能感兴趣的:(UI,工作,ssh)