2

PersistentObject\PersistentStoreアプリケーションのバージョンを更新した後も、保存されていたデータが残っているのではないかと思います。

私のユースケース:

1)バージョン0.1のアプリケーションを公開します。ユーザーはデータをPersistentObject\PersistentStoreに保存します

2)バージョン0.2のアプリケーションを公開します。

バージョン0.1でPersistentStore\PersistentObjectに保存されたデータは、バージョン0.2のアプリケーションで使用できますか?

4

2 に答える 2

2

はい、永続化されているクラスに構造上の変更がない限り、引き続き使用できます。つまり、永続データを残したい場合は、バージョン間でフィールドを追加または削除することはできません。

于 2012-05-13T19:27:01.637 に答える
1

アプリを更新するときにこれがスムーズに機能することを確認するための最善の方法は、すべての永続データをハッシュテーブルに保存することです。各データは文字列キーで保存されます。その文字列キーで値を取得します。アプリの新しいバージョンでは、オブジェクトを追加するだけで、新しい文字列キーを使用して新しい永続データを追加できます。

これにより、 Michaelが警告したように、永続クラスの基本形式の変更に問題がなく、将来の柔軟性が得られます。データは常に永続的になりHashtableます。

アプリが削除されたときに永続データが確実に削除されるようにする場合は、アプリのパッケージに固有のハッシュテーブルコンテナーを使用します。

package com.mycompany.myapp;

import net.rim.device.api.util.Persistable;
import java.util.Hashtable;

public class Preferences extends Hashtable implements Persistable {

たとえば、このPreferencesクラスのインスタンスは、に渡すものですPersistentObject#setContents()

永続データを削除したくない場合はjava.util.Hashtable、すべてのデータのコンテナーとして標準を使用してください。

于 2013-08-15T00:46:07.510 に答える