我有大约100的时间表存储在数据库中,需要显示他们的列表视图的基础上的要求,如每周,下周,下个月,过期时间表等。
在应用程序启动时加载所有计划并根据用户选择的选项(每周、过期、每月等)显示它们是否合适?在阵列适配器中。或者在运行时使用查询,从DB获取结果,并使用cusor将数据加载到使用cusoradapter的listview上。
哪种方法是有效的?,我觉得查询数据库总是很有效的操作吗?这是真的吗?
发布于 2014-01-15 14:13:34
在您的示例中,当有数据库时,CursorAdapter更合适,因为它不会将所有记录加载为ArrayAdapter。它只加载可见的记录,或您正在查询的记录。以下是CursorAdapter的文档
将光标中的数据公开给ListView小部件的
适配器。
游标必须包含名为"_id“的列,否则该类将无法工作。此外,如果合并的游标在其"_id“列中有重叠值,则对此类使用MergeCursor将不起作用。
因为来自Content provider的文档,所以它可能对你没有用处。
如果SQLite数据库完全在您自己的应用程序中使用,则不需要提供程序即可使用
。
您可以选择CursorAdapter而不是ArrayAdapter。
发布于 2014-01-15 14:22:22
更好地使用
CursorLoader在后台针对ContentProvider运行异步查询,并将结果返回到从中调用它的Activity或FragmentActivity。这允许活动或FragmentActivity在查询进行时继续与用户交互。
在Android3.0中引入的加载器,加载器使得异步加载活动或片段中的数据变得很容易。
https://stackoverflow.com/questions/21130162
复制相似问题