如何从Android上的SQLite数据库有效地更新和获取数据?

时间:2015-02-26 12:09:16

标签: android android-asynctask android-handlerthread

我正在创建一个应用程序,它从网站获取时间表并在我的应用程序中以漂亮的ListView显示它。要在用户离线时使计划可用,我首先尝试将其保存在SQLite数据库中并从那里获取数据。我们的想法是,当用户启动应用程序时,当用户按下刷新按钮时,数据库会在后台运行的服务按设定时间更新。

我的问题是:如何在不使用UI线程的情况下有效地更新数据并从数据库中获取数据,从而不会阻止用户交互。

我认为我应该使用一个将任务放入队列的系统,以便在我的ListView中显示数据之前更新数据库。除此之外,我不知道如何在Android上实现这样的系统。

1 个答案:

答案 0 :(得分:1)

好的,你需要实现三件事:

1)从网站获取数据到db:为此你应该使用AsyncTask

2)创建一个ListView,它将从数据库中获取数据并自动更新。为此,您需要使用Loader来处理后台数据的加载。

3)要使用加载器,您需要ContentProvider来为您提供所需的光标,并通知ListView更改。

对于所有三个,在线有很多很好的教程,例如参见here