郭克华手机编程教学视频----我的练习源码(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) {
}
}
* 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) {
}
}
相关文章推荐
- 郭克华手机编程教学视频----我的练习源码(9)TextBox,Ticker,Alert演示
- 郭克华手机编程教学视频----我的练习源码(10)Item演示----ChoiceGroup
- 郭克华手机编程教学视频----我的练习源码(23)将对象写入RMS
- 郭克华手机编程教学视频----我的练习源码(11)Item演示----DateField
- 郭克华手机编程教学视频----我的练习源码(12)TextField演示
- 郭克华手机编程教学视频----我的练习源码(29)UDP编程
- 郭克华手机编程教学视频----我的练习源码(20)案例2:绘制一个红色的小球,让其慢慢下落,然后又弹起来
- 郭克华手机编程教学视频----我的练习源码(2)在屏幕上添加按钮测试
- 郭克华手机编程教学视频----我的练习源码(30)HTTP测试
- 郭克华手机编程教学视频----我的练习源码(21)案例:快手
- 郭克华手机编程教学视频----我的练习源码(3)按钮显示优先级测试
- 郭克华手机编程教学视频----我的练习源码(31)GameCanvas基本测试
- 郭克华手机编程教学视频----我的练习源码(4)命令按钮监听1:使用匿名类实现
- 郭克华手机编程教学视频----我的练习源码(24)记录集遍历测试监听测试过滤测试
- 郭克华手机编程教学视频----我的练习源码(32)Sprite 2:碰撞检测和动画
- 郭克华手机编程教学视频----我的练习源码(5)命令按钮监听2:使用当前类实现
- 郭克华手机编程教学视频----我的练习源码(25)过滤及排序测试
- 郭克华手机编程教学视频----我的练习源码(33)TiledLayer
- 郭克华手机编程教学视频----我的练习源码(16)定时器,背景光,震动测试
- 郭克华手机编程教学视频----我的练习源码(6)实战:实现一个简单的监听程序