所以我正在寻找一些关于在我的Android应用程序中存储数据的指导。
目前,我有一个存储一堆Restaurant元素的XML文件。 我在应用程序启动时读取此文件,并将所有餐馆存储在ArrayList中。
现在我想添加一个最喜欢的餐厅功能。唯一的问题是,我如何存储最喜欢的餐厅。
应用程序是否应该从XML文件中读取信息然后将其放入数据库中,或者我应该为每个餐馆提供一个id,然后将他们最喜欢的餐馆存储在数据库中。
答案 0 :(得分:1)
将所有餐馆数据存储在数据库中,并确保您有“isFavorite”字段或类似字段。
答案 1 :(得分:0)
如果要包含不会更改的数据,则XML文件很不错。如果您想处理数据并进行更改,数据库是常用的方法。
但是使用SQLiteOpenHelper进行操作,您还可以在onCreate
- 方法中定义一些标准值。
您的应用首次启动时(在用户安装后)并且您想通过SQLiteOpenHelper
访问数据库,则会调用onCreate
- 方法。在此方法中,您将需要创建所需的数据库表。
如果您想在数据库中使用某些标准数据,这也是添加这些数据的地方(使用一些插入)。
之后,SQLite创建了一个数据库(实际上是应用程序/databases
目录中的一个文件),数据库存在(并且可以使用),只要该文件在那里(应该是用户删除应用程序或您的应用程序删除数据库)。所以你有一个持久的数据存储。所以你根本不需要XML文件。
如果您需要从XML文件(例如来自Web)获取数据,则可以使用XML-parser从XML文件中获取信息,并使用{{将它们放入数据库中3}}的