2011-04-19 71 views
0

我正在爲android創建一個聊天應用程序。有2個活動PeoplesActivity和ChatActivity。 PeoplesActivity包含一個用戶列表和onclicking一個用戶,ChatActivity,創建一個新的intent和我的ChatActivity的startActivity。保存活動視圖onpause或backkey

現在我的問題是,當用戶按下ChatActivity的後退按鈕時,他會重新回到人們的活動中。但是當我嘗試再次與用戶聊天時,我鬆開了最初的聊天線程。我嘗試創建一個意圖散列數組,而不是每個用戶創建一個新的意圖,我用舊的意圖。但是,聊天記錄完全沒有了。

我的問題是將視圖的變化狀態保存爲對象或什麼的最佳方法是什麼,這樣當我再次啓動活動時,我可以恢復以前的視圖狀態。

任何幫助將不勝感激。我對android開發很陌生,這可能是一個非常愚蠢的問題。

回答

2

我認爲你應該把你的日誌保存到數據庫這樣的永久性存儲中。在onCreateChatActivity你應該從數據庫檢索日誌,並在郵件發送/接收你應該將其存儲到您的數據庫。以下是一些關於Using Databases的信息

+0

我同意這一點。你應該堅持日誌。 – 2011-04-19 12:39:29

+0

有沒有辦法將視圖存儲爲對象,以便我可以直接回顧視圖,並且數據不需要存儲在任何數據庫中。同樣在這種情況下,如果應用程序崩潰,可能會有數據保留在內存中。 – Manish 2011-04-19 12:40:25

0

您可以使用onSaveInstanceState來保存活動的每個實例狀態。保存的實例狀態將作爲參數在onCreate方法中提供,或者您可以使用onRestoreInstanceState方法返回。它不會被存儲在數據庫中,因此如果您的應用程序被終止,它將會丟失。

看看this的話題。

+0

我會毫不猶豫地嘗試一下。我也嘗試將聊天作爲一個類而不是一個活動,只是改變視圖佈局。但是在那個backkeypress中,我被拋出應用程序而不是回到主要列表 – Manish 2011-04-19 15:24:39

相關問題