麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

簡單封裝MIDP RMS操作

2019-11-18 16:05:51
字體:
來源:轉載
供稿:網友

許多MIDP應用程序需要簡單的存儲配置信息,對此,簡單封裝一個RMSHandler,實現一條記錄的讀寫:

package com.crackj2ee.midp.rms;
import java.io.*;
import javax.microedition.rms.*;
public final class RMSHandler {
    PRivate static final String RECORD_STORE_NAME = "RmsDaTa";
    public static boolean loadUniqueRecord(Persistentable p) {
        byte[] data = loadUniqueRecord();
        if(data==null)
            return false;
        DataInputStream input = null;
        try {
            input = new DataInputStream(new ByteArrayInputStream(data));
            p.load(input);
            return true;
        }
        catch(IOException ioe) {
            return false;
        }
        finally {
            try {
                input.close();
            }
            catch (Exception e) {}
        }
    }
    public static boolean saveUniqueRecord(Persistentable p) {
        DataOutputStream output = null;
        try {
            ByteArrayOutputStream bytes = new ByteArrayOutputStream();
            output = new DataOutputStream(bytes);
            p.save(output);
            return saveUniqueRecord(bytes.toByteArray());
        }
        catch(IOException ioe) {
            return false;
        }
        finally {
            if(output!=null)
                try {
                    output.close();
                }
                catch (Exception e) {}
        }
    }
    private static byte[] loadUniqueRecord() {
        RecordStore rs = null;
        RecordEnumeration re = null;
        try {
            rs = RecordStore.openRecordStore(RECORD_STORE_NAME, true);
            if(rs.getNumRecords()==0)
                return null;
            re = rs.enumerateRecords(null, null, false);
            if(re.hasNextElement())
                return re.nextRecord();
            return null;
        }
        catch(RecordStoreException rse) {
            return null;
        }
        finally {
            if(re!=null) {
                re.destroy();
            }
            if(rs!=null) {
                try {
                    rs.closeRecordStore();
                }
                catch (Exception e) {}
            }
        }
    }
    private static boolean saveUniqueRecord(byte[] data) {
        RecordStore rs = null;
        RecordEnumeration re = null;
        try {
            rs = RecordStore.openRecordStore(RECORD_STORE_NAME, true);
            re = rs.enumerateRecords(null, null, false);
            if(re.hasNextElement()) {
                rs.setRecord(re.nextRecordId(), data, 0, data.length);
            }
            else {
                rs.addRecord(data, 0, data.length);
            }
            return true;
        }
        catch(RecordStoreException rse) {
            return false;
        }
        finally {
            if(re!=null) {
                re.destroy();
            }
            if(rs!=null) {
                try {
                    rs.closeRecordStore();
                }
                catch (Exception e) {}
            }
        }
    }
}


需要持久化的類實現一個Persistentable接口:

package com.crackj2ee.midp.rms;
import java.io.*;
public interface Persistentable {
    void save(DataOutputStream output) throws IOException;
    void load(DataInputStream input) throws IOException;
}

讀寫數據時,按照順序依次讀寫即可,例如:

class MyForm extends Form implements Persistentable {

    private int score;
    private String username;


    public MyForm() {
        super("Test");
        load(this);
    }



    public void save(DataOutputStream output) throws IOException {
        output.writeInt(score);
        output.writeUTF8(username);
    }
    public void load(DataInputStream input) throws IOException {
        score = input.readInt();
        username = input.readUTF8();
    }

}

(出處:http://www.companysz.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜网站视频 | 最近中文字幕一区二区 | 黄色网址电影 | 成片免费观看大全 | 国产在线观看一区二区三区 | 欧美a在线观看 | 黄污污网站 | 久久久久久久久久亚洲 | 永久av在线免费观看 | 欧美精品18| 午夜精品成人一区二区 | 香蕉久久久 | 免费1级做55爰片l在线观看 | 国产又白又嫩又紧又爽18p | 成人在线视频播放 | 日本68xxxx| 91快色| 久久国产成人精品国产成人亚洲 | 国产精品视频成人 | 久久久一区二区三区精品 | 在线视频1区 | 国产亚洲精品成人a | 亚洲特黄a级毛片在线播放 久久久入口 | 久国久产久精永久网页 | 多男操一女视频 | 国产一区视频在线观看免费 | 中文字幕涩涩久久乱小说 | 成人激情在线观看 | 日韩精品二区 | 成人免费毛片在线观看 | 国产免费一区二区三区在线能观看 | 国产日韩免费观看 | 亚洲免费资源 | 久久久久久久久亚洲精品 | 少妇一级淫片免费放播放 | av在线观| 3344永久免费 | aaaaa国产欧美一区二区 | 亚洲精品永久视频 | 精品人人人人 | 久久网站热最新地址 |