android - 如何最好地处理 Android 应用程序中的数据模型?
问题描述
我有一个大学项目,其想法是让健身者在几台机器/锻炼中记录他们的进步/进步(例如,第一周我在跑步机上用 15 分钟跑了 6 公里;第二周我跑了 6.5 公里,依此类推) . 我希望用户能够通过从列表中选择几台机器/练习来创建活动计划,并且每台机器/练习都有属性(例如重复次数、训练的肌肉群、时间、重量、距离等)。
所以,我的问题是:在 apk 上存储不同类型的机器/练习的最佳方式是什么?是否为每个泛型类型创建模型并从本地 JSON 加载它们?在应用程序外部定义每个练习并将其连接到数据库并让应用程序获取列表给用户?
在之前的项目中,我创建了一个真心话大冒险游戏,其中问题(真心话大冒险)从本地 JSON 加载并使用工厂转换为实际问题(使用 Question 模型)以在游戏中显示,但我从未发现如果这是最好/正确的方法。
PS:存在应用程序完全本地或将连接到服务器+数据库的可能性。不幸的是,由于项目的性质,我无法对这个问题给出具体答案,而是希望对这两种情况都有答案......
提前致谢!
解决方案
使用 apk 的本地存储进行数据存储/检索
在这种情况下,您可以使用JSON
存储/检索或 android 的SQLiteDatabase
. 如果您SQLiteDatabase
用于存储,您的应用程序将包含db
文件,该文件是嵌入在 apk 中的小型数据库
如果您的数据包含多个相互关联的实体,那么您必须努力,SQLiteDatabase
因为在这种情况下使用飞机JSON
并不简单
在 apk 中使用远程存储进行数据存储/检索
在这种情况下,您可以在远程机器上为您的应用程序设置数据库服务器。
或者
您可以使用Firebase
这取决于您正在制作什么类型的应用程序,如果用户不必将其锻炼进度更新到远程机器,那么SQLiteDatabase
在您的情况下本地就足够了
推荐阅读
- android - 在播放其他声音时尝试限制其他声音
- chart.js - 如何在 y 轴上突出显示时间序列的最后一个值
- c# - 如何在 c# 中使用 datatable.compute 进行除法?
- html - 如何在 CSS 中结合响应式布局和等高列?
- git - git unpack-objects 之后的源代码树在哪里?
- reporting-services - SSRS图表,有没有办法左对齐y轴?
- ios - 如何从 HealthKit Swift 4 获取每小时的步数
- uikit - QLPreviewController 适用于 UIDocumentBrowserViewController 提供的 URL,但不适用于手动生成的 URL
- c++ - 为 c++ cin 上的无效输入数量生成错误消息
- xamarin - 我该如何解决,当我们在 xamarin.ios 应用程序中输入文本字段时,键盘自动关闭