如何在android中保存listview并在需要时将其恢复?

时间:2015-12-14 04:50:46

标签: android android-listview android-sqlite android-networking

我有一个包含三个字段的列表视图,但我不知道如何在android中保存我的列表视图,并在用户打开应用程序并将其显示时将其取回。

我想显示listview中保存的数据,我必须保存用户输入列表视图的新数据。

3 个答案:

答案 0 :(得分:3)

我建议在服务器上使用某种类型的数据库来保存该信息,并且您需要从数据库中提取该信息以在应用程序中显示它。但是,android还有一个名为sharedpref的东西,允许你在应用程序关闭时保存应用程序中的东西。链接如下。然而,这不是数据库的最佳方式,但它可能适合您的需求。

http://developer.android.com/reference/android/content/SharedPreferences.html

答案 1 :(得分:1)

根据您的要求,没有直接的方法来存储列表视图,但您可以将数据存储在列表视图中,稍后可以将其设置为ListView,因为您必须使用Sqlite数据库,请参阅官方sqlite here的文档,也请查看this示例。

同样阅读this示例(来自SQLiteDatabase的数据ListView)

答案 2 :(得分:1)

这取决于您的应用的目的和要求。如果您正在开发离线应用程序,则应保存在列表视图中输入的数据。

同样,有多种方法让用户输入数据。您可以使用FAB(浮动操作栏)或在最后一个listview项目中使用文本框。

用户输入数据后,应将其保存到后台线程中的sqlite数据库,并在 listview适配器上调用 notifyDatasetChanged()方法让更改反映在视图上。

如果必须通过网络将其发送到服务器中,则应使用AysncTask或Handler线程模型在后台线程上进行联网,或使用 volley或picasso 等库让事情变得简单。

希望这有帮助!

PS:使用ViewHolder模式提高ListView的性能。或者Android 5.0中有RecyclerView。