首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> J2ME >> J2ME入门 >> 正文
单例模式的RMS访问类
作者:liq330    文章来源:本站原创    更新时间:2007-6-11 8:47:15

我也是刚学,给新手用吧,代码有一些也是别人的,不足的地方自己改进一下啦.这样操作RMS方便多了.

老鸟会写出更好的东西的.

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;

import javax.microedition.rms.RecordStore;

public class rms {

 private  rms() {
  super();
  // TODO 自动生成构造函数存根
 }
 
 //单例模式
 
    static rms inirms=null;
 
 public static rms iniRms()
 {
     if(inirms==null)
     {
      inirms=new rms(); 
     }
     return inirms;
 }
 
 
 public byte[] StringtoBytes(String Str) { //写成字节
  byte[] STB = null;
  try {
  ByteArrayOutputStream baos = new ByteArrayOutputStream();
  DataOutputStream dos = new DataOutputStream(baos);
  dos.writeUTF(Str);
  STB = baos.toByteArray();
  baos.close();
  dos.close();
  } catch (Exception e) {
  e.printStackTrace();
  }
  return STB;
  }

  public String BytesToString(byte[] rec) { //从字节读取内容
  ByteArrayInputStream bais = new ByteArrayInputStream(rec);
  DataInputStream dis = new DataInputStream(bais);
  String BTS=null;
  try {
  BTS=dis.readUTF();
  bais.close();
  dis.close();
  } catch (Exception e) {
  e.printStackTrace();
  }
  return  BTS;
  }

  RecordStore rms;
  public String Read(String name)//返回值就是上次保存的记录
     {
   try{
           rms=RecordStore.openRecordStore(name,false,RecordStore.AUTHMODE_ANY,true);//XXXX就是记录集合
             int   NumberTotal =rms.getNumRecords();
             if (NumberTotal==0)//当记录到的电话号码数量为零
              return "";//返回空字符
             return BytesToString(rms.getRecord(1));//这里只读取一个记录
                    }
                    catch(Exception e){ return "";} //失败,没有读取任何信息
     }
  public String Save(String name,String Number)//保存Numb

  {
   try{
        rms=RecordStore.openRecordStore(name,true,RecordStore.AUTHMODE_ANY,true);//XXXX就是记录集合
        byte[] data = StringtoBytes(Number);//--------------以下只新建一条记录或者只修改一条记录
        if (rms.getNumRecords()==0)//没有任何记录
         rms.addRecord(data, 0, data.length);//创建记录
        if(rms.getNumRecords()==1)//只有当前一个记录
            rms.setRecord(1,data, 0, data.length);//修改记录
       rms.closeRecordStore();//--------------以上只新建一条记录或者只修改一条记录
       return "添加成功!";
      }
     catch(Exception e){
     try{
         rms.closeRecordStore();
         }
       catch(Exception ee){}}
  return "不能保存!";
  }
}

相关文章:
在无线J2ME设备上实现http传输
用J2ME在移动设备上实现动画
用MMAPI开发手机摄像头程序
一些实用的图形用户界面方法
我的第一个J2ME程序
J2ME手机文件加密
编写Palm J2ME红外线“聊天”程序
解决J2ME联网时出现的中文乱码问题
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号