-1

这实际上是两个问题:

  1. 如果我在我的应用程序中公开我的 SQLite,ContentProvider它会以异步方式工作吗?

  2. 想象一下,我的数据库中有以下表:

TableChats TableChatMessages

我也有一堂课 Message

要使用ListViews并让这些列表视图使用ContentProvider返回的数据必须是 Cursor 的数据吗?或者是否可以查询聊天中的所有消息并返回一个Message. 抱歉,我知道这可能是一个愚蠢的问题,但我是 android 开发的新手,我还不太清楚它们的概念以及如何连接它们ContentProviderListViews

4

1 回答 1

2

据我所知

  1. Acontent 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

于 2012-09-23T03:42:10.740 回答