2012-03-19 92 views
0

IM後的行試圖挽救一個排在我的設置表,它的工作原理都非常愉快,除了當我殺死的應用程序,然後試圖讓行回到它不能找到它sqlite3的犯規保留重啓

Cursor c = db.query(savedSettings.getTableName(), null, null, null, null, null, null); 
    c.moveToLast(); 
    DatabaseUtils.dumpCursor(c); 

    db.setTransactionSuccessful(); 
    db.endTransaction(); 

這裏就是我做我的收盤:

public void onPause() { 
    db.close(); 
} 

public void onDestroy() { 
    db.close();  
    database.close(); 
} 

public void onStop() { 
    db.close(); 
    database.close(); 
} 

public void onResume() { 
    db = database.getWritableDatabase(); 
} 

我重新啓動應用程序後,它失去了它的內容。 任何人都有任何想法。

回答

1

在活動重新啓動後保留數據。請考慮使用以下代碼段。

@Override 
    protected void onSaveInstanceState(Bundle outState) 
    { 
     Here you will write to things to bundle which you want to preserve 
      after activity restart. 

     super.onSaveInstanceState(outState); 
    } 

    @Override 
    protected void onRestoreInstanceState(Bundle savedInstanceState) 
    { 
     Here you will restore the values. 
     super.onRestoreInstanceState(savedInstanceState); 
    } 

請你的時間投資在讀

http://developer.android.com/guide/topics/fundamentals/activities.html#SavingActivityState

希望這有助於。

+0

我的數據必須持續時間比應用程序的一個實例的生命週期長。但是,thx – 2012-03-19 12:42:22