我正在构建一个 Android 应用程序,它可以读取位置、餐馆和食物的所有信息列表。例如:
locations: A, B, C, etc.
A has restaurants: a, b, c
a has foods: x, y, z
在服务器端,创建数据库以将 JSON 对象传输到 Android 应用程序。
- MainActivity:
- PickFood Fragment (select restaurant to enter FoodActivity, display locations and restaurants)
- ShoppingCart Fragment (display selected foods)
- UserProfile Fragment
- FoodActivity (display foods)
我当前的解决方案是使用 Java 类创建实例来显示 Activity 或 fragment 所需的不同项目(例如位置或食物)。这是一个好的解决方案吗?或者我应该使用数据库来存储它,因为我发现将选定的实例传递到购物车不方便?
最佳答案
您应该创建模型类来保存位置、食物等数据。您可以通过解析 JSON 将 JSON 映射到这些类(您可以使用 gson 等库)。
映射后,您有三个选择:
直接使用模型类来消费 Activity 或 fragment 中的数据
将数据保存到db中,然后显示(如果你想使用ORM工具,可以看看OrmLite)这里,如果服务器数据发生变化,你必须将数据同步到本地db
您可以使用类似 retrofit 的库,可以解析json,加载模型类,还可以缓存json,方便离线时访问本地数据。
您选择的任何选项都应该根据您的需要
关于java - 我应该选择为 Android 购物应用程序使用数据库吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28353089/