Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android(kotlin)中最初存储数据并动态编辑?_Android_Json_Kotlin_Store - Fatal编程技术网

如何在android(kotlin)中最初存储数据并动态编辑?

如何在android(kotlin)中最初存储数据并动态编辑?,android,json,kotlin,store,Android,Json,Kotlin,Store,我正在Kotlin创建一个Android应用程序,用于练习英语单词的意思。要做到这一点,我需要在应用程序中存储数据,其中包括英语单词的列表,对于每个单词,我需要存储其含义和其他属性 例如: [ { "word": "WORD1", "meaning": "M1", "attr1": "A11", "attr2": "A12", "attr3": "A13", }, { "wor

我正在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文件存储在资产中,应用程序将在创建数据库后删除它

当JSON文件更新(版本增量)时,应用程序将更新数据库并删除新的JSON文件


这是个好主意吗?在从设备中删除资产文件之前,用户是否可以访问该文件?如果是,有办法隐藏它吗?

通常对于这样的任务,最好使用SQLite,这是一个自包含的数据库,提供常见的SQL操作,允许您的数据在应用程序启动之间保持不变,而无需管理JSON文件的加载、读取和写入。

但是如何在数据库中存储初始数据,安装前是否需要将数据保存在.apk中?我的意思是,我需要在安装前提供单词和含义,这些将在安装时出现在应用程序中。也许这个问题可以指导你