2012-09-23 162 views
-1

這實際上是兩個問題:ContentAdapter SQLite數據庫多個數據庫

  1. 如果我暴露我的SQLite在我的應用程序ContentProvider它將以異步方式工作?

  2. 想象一下,我有我的數據庫中下表:

TableChats TableChatMessages

,我也有一類 Message

要與ListViews工作,並將這些列表視圖使用數據從ContentProvider必須返回的數據是一個光標?或者是否可以查詢聊天中的所有消息並返回Message的數組。 對不起,我知道這可能是一個愚蠢的問題,但我是新的android開發和ContentProviderListViews的概念,以及如何連接它們還不是很清楚。

回答

2

據我所知

  1. 一個content provider管理對數據的中央存儲庫,多個應用程序之間共享。通常所有的方法都可以訪問UI thread上的數據。如果你想異步,他們建議使用CursorLoader
  2. 您可以查詢所有消息,從Cursor獲取數據並將其放入您的Message對象。

樣品:

 Cursor sampleCursor = getContentResolver().query("Your query"); 
    ArrayList<Message> list; 
     if(sampleCursor!=null){ 
    while(sampleCursor.moveNext()){ 
     Message item = new Message(); 

     item.sender = sampleCursor.getString(senderColumnIndex); 
     item.messageBody= sampleCursor.getString(messageBodyColumnIndex); 
    list.add(item); 
    }} 
//Pass your list to your adapter. 

或者直接通過使用CursorAdapter

光標