如何最初存储数据并在android(kotlin)中动态编辑它?
Posted
技术标签:
【中文标题】如何最初存储数据并在android(kotlin)中动态编辑它?【英文标题】:How to store data initially and edit it dynamically in android (kotlin)? 【发布时间】:2020-04-14 03:18:00 【问题描述】:我正在用 Kotlin 创建一个用于练习英语单词含义的 android 应用。为此,我需要在应用中存储数据,其中包括英文单词列表,并且我需要为每个单词存储其含义和其他属性。 例如:
[
"word": "WORD1",
"meaning": "M1",
"attr1": "A11",
"attr2": "A12",
"attr3": "A13",
,
"word": "WORD2",
"meaning": "M2",
"attr1": "A21",
"attr2": "A22",
"attr3": "A23",
,
"word": "WORD3",
"meaning": "M3",
"attr1": "A31",
"attr2": "A32",
"attr3": "A33",
,
]
当应用启动时,它会加载存储的数据并将其存储到集合中。之后,根据用户的输入和选择,应用会改变一些属性。最终,甚至在应用程序运行时,数据需要存储回来。
为此,我考虑使用具有此数据的 JSON 格式文件,并动态更改它。那可能吗?如果是这样,这是正确的方法吗?考虑到在应用运行和恢复时需要更改数据(这会导致性能问题吗?)
有没有更好的方法来做到这一点?以及如何?
更新:(在下面凯文的回答之后)
我考虑使用 JSON 文件来存储初始数据,应用程序第一次运行时,它会从 JSON 文件中获取数据并使用 SQL 创建数据库。 JSON 文件还将包含版本。
为此,我将 JSON 文件存储在 assets 中,应用程序将在创建数据库后将其删除。
当 JSON 文件有更新(版本递增)时,应用程序将更新数据库并在此之后删除新的 JSON 文件。
这是个好主意吗?用户可以在资产文件从他的设备中删除之前访问它吗?如果是,有没有办法隐藏它?
【问题讨论】:
【参考方案1】:通常对于这样的任务,最好使用 SQLite,这是一个自包含的数据库,它提供通常的 SQL 操作并允许您的数据在应用程序启动之间保持不变,而无需管理 JSON 文件的加载、读取和写入。
【讨论】:
但是如果在安装前需要将数据保存在.apk中,如何将初始数据存储在数据库中?我的意思是我需要在安装前提供单词和含义,这些将在安装时出现在应用程序中。 也许这个问题可以指导你***.com/questions/23273452/…以上是关于如何最初存储数据并在android(kotlin)中动态编辑它?的主要内容,如果未能解决你的问题,请参考以下文章
我需要将当前日期与其他数据一起添加到 firebase Realtime 数据库,并在 kotlin android 中检索所有带有日期的数据
如何在 Android 设备上保存 Firebase 通知?