java - 我应该选择为 Android 购物应用程序使用数据库吗

标签 java android database

我正在构建一个 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 等库)。

映射后,您有三个选择:

  1. 直接使用模型类来消费 Activity 或 fragment 中的数据

  2. 将数据保存到db中,然后显示(如果你想使用ORM工具,可以看看OrmLite)这里,如果服务器数据发生变化,你必须将数据同步到本地db

  3. 您可以使用类似 retrofit 的库,可以解析json,加载模型类,还可以缓存json,方便离线时访问本地数据。

您选择的任何选项都应该根据您的需要

关于java - 我应该选择为 Android 购物应用程序使用数据库吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28353089/

相关文章:

sql - 将记录的每一列转换为单独的记录

java - ReadableByteChannel 在读取(bytebuffer)时挂起

android - 如何让gradle更快

android - Android中的Adapter和AdapterView有什么区别?

MySQL 忽略我的索引

php - 从 iOS 向 php Web 服务发送请求

java - Mongo spring 查询两个字段相等的情况

java - 以编程方式设置 StyleClassedTextArea 的文本

java - 如何为多个级别创建 Hibernate Criteria

Android Activity 默认不可见