영구 저장소 만들기

영구 저장소를 만들려면 하나 이상의 PersistentObject를 만듭니다. 각 PersistentObjectlong 형식의 고유 키가 있습니다.

영구 데이터 저장소 만들기

PersistentObject는 고유의 긴 키가 있습니다.

  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import net.rim.device.api.system.PersistentObject;
    import net.rim.device.api.system.PersistentStore;
    import java.lang.String;
    import net.rim.device.api.ui.component.Dialog;
  2. 고유의 긴 키를 만들려면 BlackBerry Integrated Development Environment에 문자열 값을 입력합니다. 예: com.rim.samples.docs.userinfo
  3. 문자열을 마우스 오른쪽 버튼으로 클릭하고 Convert ‘com.rim.samples.docs.userinfo’ to long을 클릭합니다.
  4. 코드에는 고유의 긴 키를 생성하는 데 사용한 문자열을 나타내는 설명을 포함합니다.
  5. 영구 데이터 저장소를 만들려면 단일 정적 PersistentObject를 만들고 고유의 긴 키를 매개 변수로 사용하여 PersistentStore.getPersistentObject를 호출합니다.
    static PersistentObject store;
    static {
    store = PersistentStore.getPersistentObject( 0xa1a569278238dad2L );
    }

영구 데이터 저장

  1. 필요한 클래스와 인터페이스를 가져옵니다.
    import net.rim.device.api.system.PersistentObject;
    import net.rim.device.api.system.PersistentStore;
  2. PersistentObject에서 setContents()를 호출합니다. 이 메소드는 기존 콘텐츠를 새 콘텐츠로 교체합니다.
  3. 새 콘텐츠를 영구 저장소에 저장하려면 commit()을 호출합니다.
    String[] userinfo = {username, password};
    synchronized(store) {
    store.setContents(userinfo); 
    store.commit();
    }
  4. 일괄 트랜잭션을 사용하여 객체를 영구 저장소에 커밋하려면 PersistentStore.getSynchObject()를 호출합니다. 이 메소드는 객체를 잠그는 영구 저장소 모니터를 검색합니다.
    1. 객체를 동기화합니다.
    2. 필요에 따라 commit()을 호출합니다. 일괄 처리 시 커밋이 실패하면 전체 일괄 트랜잭션이 실패합니다.
  5. 일괄 트랜잭션과는 별개로 모니터 객체를 커밋하려면 모니터 객체를 동기화하는 동안 forceCommit()을 호출합니다.

일괄 트랜잭션에서 객체 저장

  1. 일괄 트랜잭션을 사용하여 객체를 영구 저장소에 커밋하려면 PersistentStore.getSynchObject()를 호출합니다. 이 메소드는 객체를 잠그는 영구 저장소 모니터를 검색합니다.
  2. 객체를 동기화합니다.
  3. 필요에 따라 commit()을 호출합니다. 일괄 처리 시 커밋이 실패하면 전체 일괄 트랜잭션이 실패합니다.

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.