2

永続ストアにオブジェクトを格納する Blackberry アプリがあります。アプリを更新した後、永続ストアから既存の値があればそれを読み取り、その値を引き続き使用することになっています。これは一部のデバイスでは機能しますが、他のデバイスでは機能しません。OS バージョン 7 を実行しているいくつかのデバイスでテストしましたが、すべて期待どおりに動作しました。ただし、バージョン 5 を使用するデバイスとバージョン 6 を使用する別のデバイスでは、オブジェクトは永続ストアで読み取ることができなくなります。

これは、バージョン番号以外にアプリについて何も変更していない場合でも当てはまります。永続ストアから保存およびロードされるまったく同じクラス/オブジェクト、およびそれにアクセスするために使用される同じオブジェクト ID。

これを再現するために私が行っているプロセスは次のとおりです。

  1. コマンドラインを使用して、アプリとそのすべてのデータを完全に削除します。
  2. ブラウザーから .jad ファイルをダウンロードしてアプリのバージョンをロードし、永続ストアにデータが保存されていることを確認します。
  3. アプリがバックグラウンドで実行されている間に、ブラウザから .jad ファイルをダウンロードして新しいバージョンをロードします。
  4. 新しいバージョンをダウンロードした後、以前のバージョンを置き換えるかどうかをシステムが尋ねてきたので、置き換えることを確認しました。
  5. システムが新しいバージョンをロードし、変更を有効にするために再起動する必要があることを確認するメッセージが表示されます。「再起動」を選択します。
  6. デバイスが再起動します。新しいバージョンが実行されていますが、永続ストアからオブジェクトを読み取ることができません。

この問題を一貫して再現できるデバイスは、6.0 バンドル 2647 を実行している Blackberry 9800 (Torch) です。

前述のように、これはすべてのデバイスではなく一部のデバイスでのみ発生するため、コーディングのバグ以外の何かがここで発生している可能性があります。

この問題について、またはさらにデバッグする方法についてのアイデアはありますか?

4

1 に答える 1