j2me项目开发总结
2010-10-19 13:20
225 查看
本人曾在大三使用java几个月,但由于临危受命,不得不接手公司上马的j2me项目。自问jcreator/eclipse使用熟练,java设计模式过关,于是开始了我的j2me之旅。
第一章 模拟器选择
1)wtk2.5.2
2)nokia开发包
3) kemulator
...
尽量要求使用对应公司的开发包,如nokia,不然有些全屏等,还有些特殊操作都实现不了。
第二章 开发工具选择
1)eclipseme
不能像netbeans那样进行预编译。不适合多个版本管理。当然可以搞多个配置,用ant编译。
2) netbeans
2.1)j2me工程
做简单应用推荐。注意gbk和unicode编码,特别是两边工程要整合的时候,一定要先确定两边的编码方式,不然会乱码。
大家可以注意一下j2me里边打包和混淆操作的参数,带“--”那些,关键时刻可能用得到。
2.2)j2se工程+ kemulator
kemulator是最强大的模拟器,第一可以随便改变屏幕大小,第二可以查看到程序中占有内存大小(有些版本才有)。
第三单步调试速度快。 这是eclipseme和wtk2.5.2远远不能及的, 第四调用nokia等其他公司开发包也非常方便。
游戏开发多用此方式,引用库很方便,修改编译脚步也很方便。但可能遇到一类大难题,就是datainputstream和dataoutputstream这两个类(RMS和网络操作都会用到), 很可能引用到j2se的库,这时候主要了,datainputstream变量不能调用close操作,写数据要这样写 xx.write(data, sizeof(data));
第三章 高级ui还是低级ui
高级ui排版问题会帮你解决,但界面做的可能不好看,也不能全屏操作。
低级ui的话,控件可以全部直接写,如textview, table, list ,editctrl, popmenu, msgbox...等等这些都可以自己写,仿造swing进行编写。这样会很灵活,也做的比较好看。至于输入操作,可以调用高级ui的。
有些手机的屏幕大小要自己固定死,因为 canvas的getwidth getheight不是那么准确,特别是摩托罗拉手机。 而且摩托罗拉手机的键值跟其他手机不一样,需要调整。
第四章 屏幕缓冲和图片
一般手机做了双缓冲,所以自己没有必要自己搞双缓冲。j2me有自己createImage和setclip两个函数一般用的很多。 建议不要用透明操作,因为有些手机不支持透明,所以你拼接图片的时候,尽量用自己的类来实现。 图片可以扩大和缩小,所以资源可以做的很小。 也可以把所有图片合成一个文件来读。
第五章 屏幕会闪难题
建议整个程序就一个canvas,其他为canvas的控制类。游戏都是这么实现的。
第六章 网络难题
1)代理和非代理
有些手机必须要代理,有些则不需要。建议两个都尝试。 还有网关收到的数据可能大小写不规范,这个要严重注意。
2)写完数据之后要不要flash
写数据之后是绝对不允许flash的,这是网络函数的bug,不然很多通信就不会成功了。
第七章 调试
eclise的调试需要配置写参数,网上很多。 调试起来eclise和netbeans的j2me是贼慢的。想打手机运行的log到电脑,可以用开源的microLog。
第八章 后语
手机前罗万象,你手头一定要有蓝牙。国内的手机是千奇百怪,一定要认识研究,特别是有些手机虚拟机没有装好的,搞的输入的东西少了一位就真是气死人。
如果一定要做这行,建议大家去做游戏开发,至少还有点技术含量。不然就不要做了,不然一定会气得你发疯。
关键提示,如果发现手机老是上不了网,记得打电话给移动mm,她们会帮你自动配置。
第一章 模拟器选择
1)wtk2.5.2
2)nokia开发包
3) kemulator
...
尽量要求使用对应公司的开发包,如nokia,不然有些全屏等,还有些特殊操作都实现不了。
第二章 开发工具选择
1)eclipseme
不能像netbeans那样进行预编译。不适合多个版本管理。当然可以搞多个配置,用ant编译。
2) netbeans
2.1)j2me工程
做简单应用推荐。注意gbk和unicode编码,特别是两边工程要整合的时候,一定要先确定两边的编码方式,不然会乱码。
大家可以注意一下j2me里边打包和混淆操作的参数,带“--”那些,关键时刻可能用得到。
2.2)j2se工程+ kemulator
kemulator是最强大的模拟器,第一可以随便改变屏幕大小,第二可以查看到程序中占有内存大小(有些版本才有)。
第三单步调试速度快。 这是eclipseme和wtk2.5.2远远不能及的, 第四调用nokia等其他公司开发包也非常方便。
游戏开发多用此方式,引用库很方便,修改编译脚步也很方便。但可能遇到一类大难题,就是datainputstream和dataoutputstream这两个类(RMS和网络操作都会用到), 很可能引用到j2se的库,这时候主要了,datainputstream变量不能调用close操作,写数据要这样写 xx.write(data, sizeof(data));
第三章 高级ui还是低级ui
高级ui排版问题会帮你解决,但界面做的可能不好看,也不能全屏操作。
低级ui的话,控件可以全部直接写,如textview, table, list ,editctrl, popmenu, msgbox...等等这些都可以自己写,仿造swing进行编写。这样会很灵活,也做的比较好看。至于输入操作,可以调用高级ui的。
有些手机的屏幕大小要自己固定死,因为 canvas的getwidth getheight不是那么准确,特别是摩托罗拉手机。 而且摩托罗拉手机的键值跟其他手机不一样,需要调整。
第四章 屏幕缓冲和图片
一般手机做了双缓冲,所以自己没有必要自己搞双缓冲。j2me有自己createImage和setclip两个函数一般用的很多。 建议不要用透明操作,因为有些手机不支持透明,所以你拼接图片的时候,尽量用自己的类来实现。 图片可以扩大和缩小,所以资源可以做的很小。 也可以把所有图片合成一个文件来读。
第五章 屏幕会闪难题
建议整个程序就一个canvas,其他为canvas的控制类。游戏都是这么实现的。
第六章 网络难题
1)代理和非代理
有些手机必须要代理,有些则不需要。建议两个都尝试。 还有网关收到的数据可能大小写不规范,这个要严重注意。
2)写完数据之后要不要flash
写数据之后是绝对不允许flash的,这是网络函数的bug,不然很多通信就不会成功了。
第七章 调试
eclise的调试需要配置写参数,网上很多。 调试起来eclise和netbeans的j2me是贼慢的。想打手机运行的log到电脑,可以用开源的microLog。
第八章 后语
手机前罗万象,你手头一定要有蓝牙。国内的手机是千奇百怪,一定要认识研究,特别是有些手机虚拟机没有装好的,搞的输入的东西少了一位就真是气死人。
如果一定要做这行,建议大家去做游戏开发,至少还有点技术含量。不然就不要做了,不然一定会气得你发疯。
关键提示,如果发现手机老是上不了网,记得打电话给移动mm,她们会帮你自动配置。
相关文章推荐
- web项目开发总结
- Springboot项目开发总结
- 工作记录之开发HRM项目总结
- Android项目开发技术总结
- 大型管理类软件项目开发,为什么必须要有代码生成器的深切体会总结
- [若有所悟]日式项目模块开发主担当阶段性总结(一)
- Android开发项目名称文件夹报错,但是根目录不报错问题解决方案总结
- 菜鸟成长日记之新手备忘录-IOS开发第一个项目总结
- 一个JavaWeb项目开发总结
- 项目开发总结
- android ble蓝牙开发总结(附带自己项目中提取整理的demo地址)
- MFC项目开发方法和技巧总结
- 对近期使用Nhibernate开发的一个项目的一些总结(一)
- asp.net webform 与asp.net mvc 混合开发项目总结
- MyEclipse使用总结——设置MyEclipse开发项目时使用的JDK
- web项目前端开发经验总结
- 读《借助开源项目,学习软件开发》总结
- 项目开发总结:前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
- 学员开发项目总结_感受!
- 普通软件项目开发过程规范(五)—— 总结 (转)