2011-12-05 43 views
2

我創建一個聊天應用程序,我需要一點點的指導。我正在使用sqlite數據庫來存儲聊天內容。我希望我的活動在打開時從該特定聊天加載聊天記錄並在進入新聊天時繼續刷新(我的主要問題是如何做我去做這件事)。Android數據庫加載聊天應用程序

我是否應該將CursorAdapter與包含該對話聊天的查詢的初始遊標一起使用,並將其設置爲ListView的適配器?我試過這個,但是當我插入數據庫時​​,數據不刷新。

我知道我沒有提供任何代碼,但一般的對話是關於什麼是最好的方式去做這件事是值得歡迎的。謝謝!

讓我也提一下,我需要這個爲Android 2.3.3(API 10)和更高版本(CursorLoader和所有不可用,直到我讀了一點關於API 11纔可用)。我可以做的另一件事是使用ArrayAdapter並直接將聊天添加到(如果活動已打開)並將其插入數據庫,如果不是,然後onResume(),清除ArrayAdapter並查詢所有convo每讀一遍。這是最理想的方式嗎?

+0

你會告訴我你是如何存儲聊天消息的。我創建了chap應用程序,現在想存儲聊天消息,但不知道什麼是存儲消息的最佳方法。我知道Sqlite的基本用法。 –

回答

2

看看LoaderManager。真的很簡單,並且完全符合你的要求。 它適用於2.3.3使用兼容性庫。

http://developer.android.com/reference/android/app/LoaderManager.html

+0

謝謝你。我甚至不知道兼容性庫,所以我去下載它,它包含那些缺少的類。 :) - 我將不得不查找一些如何做到最好的例子,但這是朝着正確方向邁出的一步。 – ComputerEngineer88

+0

是一個ListFragment中的getLoaderManager()。initLoader(0,null,this),它擴展了LoaderManager.LoaderCallbacks 正確的方法來做到這一點?當我插入數據庫時​​,它應該檢測到更改並將視圖插入片段中供我使用?這是我期待的那種優化。建議? – ComputerEngineer88

+0

是的,這正是它的工作原理。看看這篇文章,它告訴我我需要知道的一切 - http://developer.android.com/guide/topics/fundamentals/loaders.html –