Java me RMS的问题
我有一个RMS的问题,我需要的是删除一个记录,并在升级后移动记录,有没有机会这样做?我试图避免这种情况,但总的来说,我最终得到了这样的结果:(Java me RMS的问题,java-me,rms,Java Me,Rms,我有一个RMS的问题,我需要的是删除一个记录,并在升级后移动记录,有没有机会这样做?我试图避免这种情况,但总的来说,我最终得到了这样的结果:( 有没有办法将其转换为: public void profilRmsPopulator(Form fr, ChoiceGroup hg) throws RecordStoreNotOpenException, RecordStoreException{ int spacePos=0; for (int i =1; i<=r
有没有办法将其转换为:
public void profilRmsPopulator(Form fr, ChoiceGroup hg) throws RecordStoreNotOpenException, RecordStoreException{
int spacePos=0;
for (int i =1; i<=rs.getNumRecords();i++){
System.out.println("for loop\n");
spacePos=RmsToStringDumper(i).indexOf(" ");
System.out.println("spacePos: \n" +spacePos);
hg.append(RmsToStringDumper(i).substring(0, spacePos),null);
}
fr.append(hg);
}
public void profilrmspoulator(Form fr,ChoiceGroup hg)抛出RecordStoreNotOpenException,RecordStoreException{
int spacePos=0;
对于(int i=1;i我猜您的意思是需要对记录ID进行“重新编号”,以便删除所产生的间隙不存在,并且您有一系列从1到n(记录数)的整洁ID
您可以这样做,但这将是昂贵的-没有“更新”记录,只有添加/插入/删除操作。因此,您需要迭代所有记录,读取它们,删除它们,然后用修改过的id将它们写回。按正确的顺序应用更改也可能很棘手
为什么需要消除间隙?您可以使用RecordStoreenumerateRecords
方法返回的RecordEnumeration对整个集合进行迭代,“跳过”间隙。或者,您可以使用GetRecordId
方法获取当前ID集合的数组。在任何一种情况下,您都可以迭代而不看到间隙。我猜您的意思是需要对记录ID进行“重新编号”,以便删除所产生的间隙不存在,并且您有一系列整洁的ID,范围从1到n,即记录数
您可以这样做,但这将是昂贵的-没有“更新”记录,只有添加/插入/删除操作。因此,您需要迭代所有记录,读取它们,删除它们,然后用修改过的id将它们写回。按正确的顺序应用更改也可能很棘手
为什么需要消除间隙?可以使用RecordStoreenumerateRecords
方法返回的RecordEnumerateRecords对整个集合进行迭代,“跳过”间隙。或者,可以使用GetRecordId
方法获取当前ID集的数组。在任何一种情况下,都可以进行迭代而不看到间隙