在J2ME中,RMS作为唯一的永久性存储工具,其重要性是不言而喻的。但是很多刚刚开始学习J2ME的新人总是抱怨在这方面的资料很少,或者是针对性不强。因此,我想把自己在这方面的一些学习心得和大家交流一下。
RMS即Record Manager System,在手机应用中常常作为得分记录、游戏信息存储等的工具使用。
RMS的使用可以分为两个部分:一、单一记录的构造;二、RecordStore的使用和操作。下面就这两方面进行详细说明。
一、单一记录的构造。我们在存储记录时可能需要记录很多相似的条目,在这里我们可以把这种结构看成数据库,我们在这一步就是要构造数据库中的一行,即单一记录的构造。程序的源码如下:
阅读全文…
j2me
j2me, rms
URLEncoding是用于解决链接字符串中包含中文字符的一种转换编码。各种编程环境下几乎带有它的库函数。
不过,J2ME除外。
好在JAVA的源代码中带有这个类,我们把它拷贝到J2ME环境下编译到我们的应用当中就可以了。
该文件位于JDK的目录下src.zip文件中,名叫URLEncoder.java。
阅读全文…
j2me
j2me
开发环境:Eclipse+EclipseMe (Eclipse3.4版本以上使用EclipseMe时在添加第三方库常常会出现classnotfound异常,可使用mtj代替EclipseME,或使用低一些的Eclipse版本)
1、新建J2ME工程,导入MotionWelder的J2ME库(在该程序下载包里J2ME 的lib目录里的motionwelder.jar)
右键工程–>Build Path –>Add external archives… —>选择motionwelder.jar打开,即可导入完毕。
2、把导出的动作数据文件拷到工程的资源目录,导入动作数据文件
/*
spriteName 动作数据文件
splitImageClips 内存加载图片的方式,如果为false则加载完整的图片(图片没有切片),true则加载切片的图片
imageloader 加载动作所需图片的类
*/
MSpriteData animationData = MSpriteLoader.loadMSprite(java.lang.String spriteName, boolean splitImageClips, MSpriteImageLoader imageloader)
3、加载动作图片
interface MSpriteImageLoader:
splitImageClips = false - 加载完整的图片
Image[] loadImage(spriteName,imageId,orientationUsedInStudio);
阅读全文…
j2me, 游戏
j2me, 动作编辑器, 游戏
有些时候我们可能在J2ME中遇到画面闪烁的问题,这时候我们可以应用双缓冲的技术来解决,不过由于现在越来越多的手机自身就支持双缓冲了。所以这里只做个简单的介绍。
我写了程序本来想在NOkia 6108上比较用和不用的区别,结果这个手机自己就支持双缓冲,所以根本没有比较出来。不过了解这个技术还是有必要的,所以我决定还是写出来。双缓冲本来是在开发PC应用程序的时候遇到的。在MIDP开发中同样存在,当你在屏幕上进行原始写画的时候,如果很复杂的话,用户会发现界面在闪烁。因此你可以这样做,首先在另一个图片上进行paint()得操作,当完成了以后就把它copy到屏幕上,由于通常copy得时候速度很快就不会出现闪烁了。这个技术就是双缓冲。
阅读全文…
j2me
j2me, java, 游戏
最近评论