面向对象的RMS操作
来源:互联网 发布:淘宝模板上传宝贝图 编辑:程序博客网 时间:2024/04/30 20:44
将需要保存的数据集中起来形成一个model类,并且要实现序列化,比如:
操作RMS类
用法:
import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;public class LoginInfo{String name;String passowrd;boolean selected;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassowrd() {return passowrd;}public void setPassowrd(String passowrd) {this.passowrd = passowrd;}public boolean isSelected() {return selected;}public void setSelected(boolean selected) {this.selected = selected;}public byte[] serialize(){ByteArrayOutputStream bos=null;DataOutputStream dos=null;try {bos=new ByteArrayOutputStream();dos=new DataOutputStream(bos);dos.writeUTF(this.getName());dos.writeUTF(this.getPassowrd());dos.writeBoolean(this.isSelected());dos.flush();return bos.toByteArray();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {if(dos!=null)dos.close();if(bos!=null)bos.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return null;}public LoginInfo deserialize(byte[] data){LoginInfo instance=new LoginInfo();ByteArrayInputStream bis=new ByteArrayInputStream(data);DataInputStream dis=new DataInputStream(bis);try {instance.setName(dis.readUTF());instance.setPassowrd(dis.readUTF());instance.setSelected(dis.readBoolean());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try {if(dis!=null)dis.close();if(bis!=null)bis.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return instance;}}
操作RMS类
import javax.microedition.rms.RecordStore;import javax.microedition.rms.RecordStoreException;import javax.microedition.rms.RecordStoreFullException;import javax.microedition.rms.RecordStoreNotFoundException;public class RmsLoginInfo {static String rmsName="loginInfo";public void writeRecordStore(LoginInfo loginInfo){try {RecordStore rs=RecordStore.openRecordStore(rmsName,true);byte[] data=loginInfo.serialize();if(rs.getNumRecords()==0)rs.addRecord(data,0,data.length);elsers.setRecord(1,data,0,data.length);rs.closeRecordStore();//System.out.println("保存成功");} catch (RecordStoreFullException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (RecordStoreNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (RecordStoreException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public LoginInfo readRecordStore(){LoginInfo loginInfo=new LoginInfo();try {RecordStore rs=RecordStore.openRecordStore(rmsName,true);if(rs.getNumRecords()==0){//System.out.println("没有记录");rs.closeRecordStore();return null;}else{byte[] data=rs.getRecord(1);rs.closeRecordStore();return loginInfo.deserialize(data);;}} catch (RecordStoreFullException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (RecordStoreNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (RecordStoreException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}// 删除表public static void deleteRecordStore(){try {//System.out.println("记录被删除");RecordStore.deleteRecordStore(rmsName);} catch (RecordStoreNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (RecordStoreException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
用法:
//读取记录,通常初始化的时候使用RmsLoginInfo rms=new RmsLoginInfo();LoginInfo loginInfo=rms.readRecordStore();if(loginInfo!=null){//这里可以对一些参数赋值}else{//}//保存用户名和密码if(selected){LoginInfo loginInfo=new LoginInfo();loginInfo.setName(Consts.field0);loginInfo.setPassowrd(Consts.field1);loginInfo.setSelected(selected);RmsLoginInfo rms=new RmsLoginInfo();rms.writeRecordStore(loginInfo);}else{RmsLoginInfo.deleteRecordStore();}
0 0
- 面向对象的RMS操作
- 简单的RMS操作
- J2ME中面向对象方式实现数据管理(RMS)
- J2ME:rms的对象序列化
- 面向对象的javascript之对象操作
- 自己写的操作 RMS类
- 面向对象的分页封装操作
- 【C++面向对象】[]操作符的重载
- 面向对象的方法操作memcache 面向过程编程
- 数组面向过程与面向对象的基本操作
- J2ME RMS读写操作
- J2ME RMS数据库操作
- rms操作问题?
- 简单实用的操作RMS的小例子
- 简单封装MIDP RMS操作
- J2ME RMS 永久存储 操作
- 【J2ME】保存数据--操作RMS
- 面向对象、Orcal数据库实现对数据的操作
- win7 64位 系统中“打开或关闭Windows功能”列表空白
- Java版数独算法实现
- 六、逻辑回归与最大熵模型
- 一些Java经典算法
- Java权重分配的实现算法
- 面向对象的RMS操作
- Android学习笔记
- PHP 点击链接更新数据库,返回值
- 使用jsr172解析xml
- j2me读取中文的配置文件
- 当显示内容过多时的滚屏类Container.java
- 对java字符串的各种操作方法和应用
- j2me代理连接返回码总是400的问题
- 按键检测