2012-09-02 76 views
1

我想保留我的內容提供者中db的行數。在內容提供者中保留一個變量

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

這個想法是在的OnOpen()方法和剛剛增量初始化這個變量/在插入遞減它/刪除方法,這是正確的?

作爲內容提供商的生命週期由Android的處理,我擔心它可能會在某個時候刪除我的私有變量...

回答

3

我想你的意思是onCreate(),而不是onOpen()? 如果是這樣的 - 這將是正確的,如果你願意續訂這個變量

  1. 在的onCreate() - 也許請求當前計從底層結構/ DB
  2. 每次插入後/刪除操作

如果你做到了上述目的,那麼你就沒有問題了,因爲它可以保證在任何其他提供者的方法之前調用onCreate,即使系統會殺死提供者 - 你將在下一個例子的onCreate()

中恢復該值

注意:只有通過此提供者才能對DB進行任何更改時,這一切均適用。否則 - 您應該每次請求數據計數,或緩存在其他級別。

好運

+0

感謝我只是想確認有關變量的一致性! :d – user1610075