2015-02-05 38 views
1

我正在构建一个Android应用程序,该应用程序可以读取位置,餐馆和食物的所有信息列表。例如:我是否应该选择将数据库用于购买Android应用程序

位置:A,B,C等

A具有餐馆:A,B,C

一个具有食物:X,Y, z

在服务器端,创建数据库以将JSON对象传输到Android应用程序。

  • MainActivity:
    • PickFood片段(选择餐厅进入FoodActivity,显示位置餐馆
    • 的购物片段(显示选择的食品
    • 用户配置片段
  • FoodActivity(显示食品

我当前的解决方案是使用Java类来显示为不同的项目的项目来创建实例(例如地点或食物)所需的活动或片段。这是一个好的解决方案吗?或者我应该使用数据库来存储它,因为我发现将所选实例传递给购物车并不方便?

+0

在我有数据库主意或没有既有优点也有缺点。最重要的优势是支持离线服务,但最大的缺点是从数据库更新和检索数据。但根据我的经验,拥有db的好处多于没有。 – 2015-02-05 20:34:47

回答

0

您应该创建模型类,它将保存位置,食物等数据。您可以通过解析JSON(可以使用库,如gson等)将JSON映射到这些类。

映射后,你有三种选择:

  1. 使用模型直接班级活动要消耗数据或片段

  2. 将数据保存到数据库,然后显示它(如果你想使用ORM工具比看看OrmLite)在这里,如果服务器数据发生任何变化,您将必须与本地数据库同步数据

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

您选择任何选项,要根据你的需要

+1

谢谢polerface。在你的回答之后,我回顾了[retrofit](http://square.github.io/retrofit/)库,但我很难理解它。然后,我决定现在使用volley和gson库,并在活动或片段中使用数据。 – willowcheng 2015-02-10 16:35:16