j2me游戏中使用记录管理系统保存和读取最高纪录

纪录管理系统(Record Management System ,简称RMS)。他能使你能够在手机设备的内存中持久地存储数据。

一、记录管理系统概览

记录管理系统简单的说就是一个小型的数据库。具有典型的数据库的结构模型。RMS提供了RecordStore类,用于MIDlet应用程序和RMS通信。RecordStore相当于数据库中的表。我们可以在每个表中,放置若干条记录(Record),每条记录包括两列数据。如下图所示:

存储在RMS中的每个记录存储都和一个MIDlet套件相关联(一个套件就是一个JAR文件,其中可以包括多个MIDlet类)。并且有一个文件名来标识他。

在记录存储中的每一条记录都只有两列表格,其中第一列是一个int型的整数表示纪录的ID,另一列用一个byte型的数组表来记录数据。记录号可以看作是数据表的主键。不管你存储的是字符串或整数,他们都按照byte数组从一条记录读出或写入到一条记录中。

二、深入RecordStore类

在MIDP API中,通过javax,microedition.rms包来支持RMS。这个包提供一个RecordStore类和几个接口,来支持丢纪录存储的创建和操作。RecordStore类为单个纪录存储提供了可编程接口,使得对一个记录存储的读写操作变得非常简单。

使用步骤:

1、打开或者创建一个记录存储。

2、从纪录存储中读出数据或者向记录存储写入数据。

3、关闭记录存储。

其中有些最为常用的方法:

openRecordStore()打开一个记录存储,以便读出或写入数据。
getNumRecords()获得纪录存储中记录的数目。
getRecordSize()获得一条记录的数据大小。
getRecord()从一个单独的纪录中获得数据。
addRecord()向一个记录存储添加一条记录的数据。
deleteRecord()删除一条的纪录。
deleteRecordStore()删除整个记录存储。
closeRecordStore()关闭一个记录存储。

在使用记录存储之前,先要创建一个RecordStore对象。示例如下:

RecordStore rs = null ;

打开一个记录存储,可以使用RecordStore对象调用openRecordStore()方法来实现:

try{
rs = RecordStore .openRecordStore(“somename” , false );
}
catch( Exception e){
System.err.println(“Failed opening record store !”) ;
}

openRecordStore方法的第一个参数就是纪录存储的名字,第二个参数表示当指定名字的纪录存储不存在的话,是否应该创建一个新的记录存储。该参数如果为true,则表示当指定名字的纪录存储不存在的话可以创建一个新的同名记录存储并打开,false表示仅打开已存在的记录存储,不会创建记录存储。

使用前面创建的记录存储后就可以判断是否已经成功的打开一个记录存储了。

下面我们就可以往打开的记录存储中写入记录了:

try{
rs.addRecord(redordData, 0 , recordData.length);
}
catch ( Exception e ){
System.err.println( “ Failed writhing to record store ! ”);
}

时间: 2024-08-24 20:06:58

j2me游戏中使用记录管理系统保存和读取最高纪录的相关文章

J2ME游戏中读入文本并存储在String数组中

数组 一个在J2SE中十分钟即告完成的代码,在J2ME中花费了一个下午.是什么样的代码呢?[要求]在游戏中读入文本形式存储的hints [分析]J2ME没有BufferReader,用InputStreamReader吧既然没有BufferReader,也就不要奢望有readLine()了,自己慢慢循环吧 [源代码] 以下内容为程序代码/* read hint-------------------------------------- */ /** * This is the hints * *

State模式在J2ME游戏设计中的应用(需要源代码留下e-mail)

设计|源代码    游戏设计中的状态转换是一个既是非常重要又十分复杂的部分.我前几天做移植的时候看到一个public void keyPressed(int keyCode)中间竟然有着近2000千行的代码,这样的话冗长的代码不仅不符合OO的思更加严重的是会打扰我们的程序思路.这两天运用State模式做了一个J2ME游戏中的状态转换由于只是一个实验的例子所以只做了开始菜单和帮助的转换,在这个框架下再加入其他的状态实际就是十分的简单的了. 现在DEMO中只有两个状态,两种状态下keyPressed

关于J2ME游戏编程中的位运算

问题描述 最近在学J2ME游戏编程,对于位运算也重新认识了一下,无非就是&|~>><<几种运算.&|>><<运算主要是用于将数据保存到二进制文件中(通过RMS)或者将数据从二进制文件中读取进来.但是~(按位取反)运算,我一直不太明白这个运算有什么作用呢?用这个运算的目的是什么?在实际项目制作中什么情况下用到按位取反?希望大虾赐教!! 解决方案 解决方案二:不懂,求解!解决方案三:按位取反就是是把0变成1,1变成0.0110按位取反就是1001

J2ME游戏开发中的地图设计与绘制

设计 在开发很多类型的游戏中,地图系统都需要良好的设计,直观的说,我们需要的地图系统仅仅是一个2D数组,然后用最快的方式将数组影射到屏幕上.       游戏中的地图通常不是由程序员用键盘输入到程序里然后再在程序中修改然后再修改的狂乱过程,而是一般先由程序员做一个地图编辑器,在这个地图编辑器中用鼠标点点点,再保存的过程,或者是从网络上下载的一些成熟编辑器比如:mappy这样的工具生成地图,再用脚本语言为mappy写一个应该保存成什么样格式的程序.通常地图分为45度角,侧视角和俯视角等等,45度角

facebook怎么记录游戏中每关的分数

问题描述 facebook怎么记录游戏中每关的分数 请教各位大神,游戏中接入facebook sdk后,因为游戏有很多关,每一关都需要记录一个分数,怎么才能记录这些分数到facebook上呢? 然后还需要获取当前关所有好友的分数,怎么实现呢?

具体流程-记录用户的浏览记录并保存到数据库中当用户在次浏览时显示上次

问题描述 记录用户的浏览记录并保存到数据库中当用户在次浏览时显示上次 记录用户的浏览记录并保存到数据库中当用户在次浏览时显示上次浏览相关的内容, 写出具体流程. 求解 ...

gridview-请教高手如何在gridcontrol中放入多条记录并保存在数据库中

问题描述 请教高手如何在gridcontrol中放入多条记录并保存在数据库中 如图 解决方案 http://blog.csdn.net/jimk5200/article/details/9180861

【ANDROID游戏开发二十二】(图文详解)游戏中灵活实现动画播放!简述J2ME的游戏类库与ANDROID游戏开发!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/361.html 由于写书的缘故,博文更新缓慢,大家体谅,今天针对群内常提出动画实现的问题来进行一个详细讲述: 此章节适合没有做过游戏开发的同学学习! 做过Android软件的童鞋们,在学习游戏开发的时候,思维总是被固定在了Android系统组件上!比如动画实现总想着利用BitmapDrawable.Animatio

MVC模式在j2me项目中的应用(二)

项目 MVC模式在j2me项目中的应用(二)作者:FavoYang Email:favoyang@yahoo.com 欢迎交流Keywords:MVC 案例 模式 内容提要:如果想试验一下自己对一个知识到底有几分的掌握,最好的方法就是实践她.结合一个名为"NOTE"的项目(记事本),运用MVC模式进行构建,一起体会一下MVC的强大与灵活.请注意的是,本文中关于不再使用MVC这样的术语,而是使用边界类.控制类.实体类.生命周期类这样的称呼.关于MVC的在j2me上的种种变化请看本文的(一