您的位置:首页 > 编程语言

郭克华手机编程教学视频----我的练习源码(22) RMS演示

2009-03-10 13:58 429 查看
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package lession15;

import javax.microedition.midlet.*;
import javax.microedition.rms.RecordStore;

/**
* RMS演示
* RMS就是手机的一个数据库文件。
* RMS组件位于javax.microedition.rms
* 它一共由四个接口和一个类组成
* 最重要的就是类RecordStore(一个RecordStore相当于一个表)。
* 它不能直接new,只能通过静态方法openRecordStorez()创建
* @author mouyong
*/
public class RMSMidlet1 extends MIDlet {

public void startApp() {
try {
/*
*openRecordStore()方法有三种形式:
*openRecordStore(String recordStoreName, boolean createIfNecessary)
*openRecordStore(String recordStoreName, boolean createIfNecessary, int authmode, boolean writable)
*openRecordStore(String recordStoreName, String vendorName, String suiteName)
* 具体意思请参看Javadoc *
*/
/*********对记录集的操作********************************/
//打开记录集
RecordStore rs = RecordStore.openRecordStore("RS1", true);
//获得记录集大小(单位:字节)
System.out.println("记录集大小:" + rs.getSize());
//关闭记录集
//rs.closeRecordStore();
//得到记录集名称
System.out.println("记录集名称:" + rs.getName());
//列出本程序拥有的所有记录集名称
String[] names = RecordStore.listRecordStores();
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}

//删除一个记录集
// RecordStore.deleteRecordStore("RS1");
/***************对记录的操作************************/
//添加"张三"
//addRecord()方法三个参数,第一个是字节数据,第二个是存入记录集的开始位置
//第三个参数是存入记录集的长度
byte[] zs = "张三".getBytes();

rs.addRecord(zs, 0, zs.length);
//添加"李四光"
byte[] lsg = "李四光".getBytes();
rs.addRecord(lsg, 0, lsg.length);

//获得记录集中记录条数
System.out.println("记录条数:" + rs.getNumRecords());

//根据ID获得记录集中指定记录
//注意:记录的编号(id)是从1开始编号,所以,下面这句是获得第二条记录
byte[] rlsg = rs.getRecord(2);
System.out.println("从rs中获得的第2条记录:" + new String(rlsg));
//修改指定ID的记录
//setRecord()有四个参数
//第一个是记录ID,第二个是新数据,第三个是开始存的位置,第四个是长度
rs.setRecord(2, rlsg, 0, rlsg.length-2);//将李四光的最后一个字去掉,只存入"李四"
rlsg = rs.getRecord(2);
System.out.println("修改后从rs中获得的第2条记录:" + new String(rlsg));

//删除记录
//deleteRecord()有一个参数,就是记录ID
//当删除后,该记录ID会为空。后面的记录并不会发生变化
//添加记录也不会填补空出来的ID
rs.deleteRecord(1);//删除第一条记录,张三没了
System.out.println("删除张三后,记录条数:"+rs.getNumRecords());//记录条数为1
//rs.getRecord(1);//抛出异常,因为1已经没了。
rs.addRecord("中国".getBytes(), 0, "中国".length());//这条新加的记录ID为3
//rs.getRecord(1);//仍然抛出异常,因为1不会被填补
System.out.println("删除后新添加的记录:"+rs.getRecord(3));//输出中国

} catch (Exception e) {
e.printStackTrace();
}

}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐