私は現在、いくつかの J2ME 開発を行っています。ユーザーが要素をレコード ストアに追加および削除できるという問題があり、レコードが削除された場合、そのレコードは空のままになり、他のレコードは 1 つ上に移動しません。レコードに何かが含まれているかどうかを確認するループを考え出そうとしています (削除された場合)。含まれている場合は、そのレコードの内容をリストに追加します。私のコードは次のようになります。
for (int i = 1; i <= rs.getNumRecords(); i++)
{
// Re-allocate if necessary
if (rs.getRecordSize(i) > recData.length)
recData = new byte[rs.getRecordSize(i)];
len = rs.getRecord(i, recData, 0);
st = new String(recData, 0, len);
System.out.println("Record #" + i + ": " + new String(recData, 0, len));
System.out.println("------------------------------");
if(st != null)
{
list.insert(i-1, st, null);
}
}
rs.getRecordSize(i) に到達すると、常に「javax.microedition.rms.InvalidRecordIDException: レコード検索エラー」が発生します。これはレコードが空であることが原因であることはわかっていますが、この問題を回避する方法が思いつきません。
どんな助けでも大歓迎です。
前もって感謝します。