2012-09-02 2 views
1

내 콘텐츠 공급자의 DB 행 수를 유지하고 싶습니다.콘텐츠 공급자에 변수 유지

private int nRows; 
public int getNRows(){ 
    return nRows; 
} 

아이디어/삭제 방법을 /를으로 onOpen() 메서드 및 단지 증가에이 변수를 초기화 삽입 그것을 감소하는 것,이 맞습니까? 콘텐츠 제공 업체의 수명주기가 안드로이드에 의해 처리되기 때문에

나는

답변

3

onCreate()이 아닌 onOpen()이 맞습니까? 그렇다면 - 당신이에서 onCreate()에서이 변수

  1. 을 갱신 할 수 있습니다 경우는, 올바른 것 - 어쩌면 각 삽입 후 기본 구조/DB
  2. 에서 현재 카운트를 요청/작동을
삭제

위의 작업을 수행하면 아무런 문제가 없습니다. onCreate이 다른 공급자의 메서드보다 먼저 호출되고 시스템이 공급자를 죽이더라도 해당 값이 다음 인스턴스 onCreate()

에서 복원됨을 보장하므로 아무런 문제가 없습니다.

참고 : 모든 것은이 공급자를 통해서만 DB를 변경할 수있는 경우에만 적용됩니다. 다른 방법 - 매번 데이터 수를 요청하거나 다른 수준으로 캐시해야합니다.

행운을 빌어 요.

+0

감사합니다. 저는 변수의 일관성에 대해 확실하게 알고 싶었습니다! :디 – user1610075

0

당신은 대신 수동으로 추적하는 행의 수를 얻기 위해 Cursor#getCount() 방법을 사용한다 ... 그것은 어떤 점에서 내 개인 변수를 삭제할 수 있음을 우려하고있다.

관련 문제