从SQLite加载数据

时间:2014-02-10 00:19:34

标签: java android database sqlite android-listview

我有一个聊天应用程序,可以将消息保存在Sqlite数据库中。我需要在用户点击时为每个聊天加载所有邮件,并在活动中的ListView中显示这些邮件。所以我想知道如何做到这一点? 我想到了几个方法来做到这一点

第一个选项:在为数组中的用户打开消息传递屏幕之前从数据库获取数据(消息,即字符串),并在启动消息传递活动时通过intent传递它们,然后显示消息onCreate()方法。

第二个选项:在创建活动时从数据库中获取数据(消息,即字符串)并显示它们。

第三个选项:根据Sqlite

保存持久状态

赞赏任何其他想法。 感谢。

3 个答案:

答案 0 :(得分:1)

在Activity中,在其他线程中加载sqlite db,加载完成后,将其打印在列表视图中。

new Thread(new Runnable() {

    @Override
    public void run() {
        // TODO Auto-generated method stub

        //loading database
        mHandler.sendMessage(msg);
    }
}).start();

Handler mHandler = new Handler() {
    public void handleMessage(Message msg) {
        //update listview
    };
};

答案 1 :(得分:1)

我要做的是在打开Activity时加载它们,但我不会加载所有消息,只会加载最后的X项。大多数用户不会在99%的时间内向上滚动到旧消息。

例如,您可以加载最后10条消息,然后(如果用户向上滚动)加载其他消息。

运气!!

答案 2 :(得分:1)

使用第二个选项。只需将唯一的聊天ID发送到chat screen,然后用oncreate()方法从数据库加载该聊天的所有消息,然后将所有消息绑定到listview. < / p>