📄 seapersistence.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
package org.cesar.inmotion.sea;
import java.io.*;
import javax.microedition.rms.RecordStore;
public class SeaPersistence
{
private static final String SEA_DB = "Sea_DB";
private static SeaPersistence instance;
private RecordStore recordStore;
private int scoreValues[] = {
0, 0, 0
};
private String scoreNames[] = {
"AAA", "BBB", "CCC"
};
private byte level;
public SeaPersistence()
{
level = 0;
load();
}
public String getScoreName(int i)
{
return scoreNames[i];
}
public int getScoreValue(int i)
{
return scoreValues[i];
}
public static SeaPersistence getInstance()
{
if(instance == null)
instance = new SeaPersistence();
return instance;
}
public void load()
{
try
{
if(recordStore == null)
recordStore = RecordStore.openRecordStore("Sea_DB", true);
if(recordStore != null && recordStore.getNumRecords() > 0)
unpack(recordStore.getRecord(1));
}
catch(Exception exception) { }
}
public boolean save()
{
boolean flag = false;
if(recordStore != null)
{
byte abyte0[] = pack();
try
{
if(recordStore.getNumRecords() == 0)
recordStore.addRecord(abyte0, 0, abyte0.length);
else
recordStore.setRecord(1, abyte0, 0, abyte0.length);
flag = true;
}
catch(Exception exception) { }
}
return flag;
}
public void setScore(String s, int i)
{
byte byte0 = (byte)s.length();
for(int j = 0; j < 3 - byte0; j++)
s = s + " ";
for(int k = 0; k < scoreValues.length; k++)
if(scoreValues[k] < i)
{
for(int l = scoreValues.length - 1; l > k; l--)
{
scoreNames[l] = scoreNames[l - 1];
scoreValues[l] = scoreValues[l - 1];
}
scoreNames[k] = s;
scoreValues[k] = i;
k = scoreValues.length;
}
save();
}
public void close()
{
if(recordStore != null)
try
{
recordStore.closeRecordStore();
}
catch(Exception exception) { }
}
public static void resetRecordStore(String s)
throws Exception
{
RecordStore.deleteRecordStore(s);
}
public int getScoreNumber()
{
return scoreNames.length;
}
private byte[] pack()
{
byte abyte0[] = null;
try
{
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
DataOutputStream dataoutputstream = new DataOutputStream(bytearrayoutputstream);
boolean flag = false;
for(int i = 0; i < scoreNames.length; i++)
dataoutputstream.writeUTF(scoreNames[i]);
for(int j = 0; j < scoreValues.length; j++)
dataoutputstream.writeInt(scoreValues[j]);
abyte0 = bytearrayoutputstream.toByteArray();
dataoutputstream.close();
}
catch(Exception exception) { }
return abyte0;
}
private void unpack(byte abyte0[])
{
try
{
DataInputStream datainputstream = new DataInputStream(new ByteArrayInputStream(abyte0));
boolean flag = false;
for(int i = 0; i < scoreNames.length; i++)
scoreNames[i] = datainputstream.readUTF();
for(int j = 0; j < scoreValues.length; j++)
scoreValues[j] = datainputstream.readInt();
datainputstream.close();
}
catch(Exception exception) { }
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -