我想保留我的內容提供者中db的行數。在內容提供者中保留一個變量
private int nRows;
public int getNRows(){
return nRows;
}
這個想法是在的OnOpen()方法和剛剛增量初始化這個變量/在插入遞減它/刪除方法,這是正確的?
作爲內容提供商的生命週期由Android的處理,我擔心它可能會在某個時候刪除我的私有變量...
我想保留我的內容提供者中db的行數。在內容提供者中保留一個變量
private int nRows;
public int getNRows(){
return nRows;
}
這個想法是在的OnOpen()方法和剛剛增量初始化這個變量/在插入遞減它/刪除方法,這是正確的?
作爲內容提供商的生命週期由Android的處理,我擔心它可能會在某個時候刪除我的私有變量...
我想你的意思是onCreate()
,而不是onOpen()
? 如果是這樣的 - 這將是正確的,如果你願意續訂這個變量
如果你做到了上述目的,那麼你就沒有問題了,因爲它可以保證在任何其他提供者的方法之前調用onCreate
,即使系統會殺死提供者 - 你將在下一個例子的onCreate()
注意:只有通過此提供者才能對DB進行任何更改時,這一切均適用。否則 - 您應該每次請求數據計數,或緩存在其他級別。
好運
您應該使用Cursor#getCount()方法獲取行,而不是手動跟蹤的數量。
感謝我只是想確認有關變量的一致性! :d – user1610075