1
영구 저장 장치에 여러 개의 프로모션을 저장해야합니다. 여기에 클래스의 :BlackBerry 영구 저장 장치 문제,
import net.rim.device.api.util.Persistable;
public class FavoritePromo implements Persistable{
public static String id;
public static String merchantName;
public static String title;
public static String expireDate;
public static String couponsLeft;
public FavoritePromo(String id, String merchantName, String title, String expireDate, String couponsLeft){
this.id = id;
this.merchantName = merchantName;
this.title = title;
this.expireDate = expireDate;
this.couponsLeft = couponsLeft;
}
}
그리고 난에 영구 저장 장치에 넣어하는 방법이 있습니다 :
private static final long PERSISTANCE_KEY_2 = 0xb13951b27c2c948aL;
public static Vector favoritTable = new Vector();
private static PersistentObject persistentObject2 = PersistentStore.getPersistentObject(PERSISTANCE_KEY_2);
public static void addToFavorites(FavoritePromo promo){
synchronized (persistentObject2) {
favoritTable.addElement(promo);
persistentObject2.setContents(favoritTable);
persistentObject2.commit();
}
}
public static void loadFavorites(){
PersistentObject persistentObject2 = PersistentStore.getPersistentObject(PERSISTANCE_KEY_2);
synchronized (persistentObject2) {
favoritTable = (Vector) persistentObject2.getContents();
System.out.println("UserData: Retrieve from RMS success");
}
}
public static void deleteFavorites(){
PersistentStore.destroyPersistentObject(PERSISTANCE_KEY_2);
}
public static boolean isFavorite(String _id){
FavoritePromo tmp;
for (int x = 0; x < favoritTable.size(); x++){
tmp = (FavoritePromo) favoritTable.elementAt(x);
if (tmp.id.equals(_id)) {
return true;
}
}
return false;
}
내 두 가지 문제가 있습니다 :
첫 번째 프로모션 실제로에 저장 영구 저장 장치. 나머지는 똑같습니다.
앱을 닫고 다시 실행하면 데이터가 사라집니다. 흠 .. 끈기가 있어야하지 않니?
개인 정적 벡터 favoritTable = 새로운 벡터()에 튜토리얼을 읽어야; 이제 프로모션이 올바르게 추가되었습니다. 에뮬레이터가 다시 시작되고 프로모션이 사라지면 나는 그것이 지속적이어야한다고 생각 했단 말인가? – anta40
@ anta40, 내 편이면, 그들은 여전히 거기에 있습니다. –