永久存储多个单词列表

Posted

技术标签:

【中文标题】永久存储多个单词列表【英文标题】:Storing multiple lists of words permanently 【发布时间】:2017-10-22 16:11:17 【问题描述】:

这个问题可能有点复杂,但我还是会试试的:

我正在制作一个应用程序,它收集一种语言的单词列表以及每个单词的翻译。两者都在同一个字符串数组中。我希望用户能够永久存储他制作的列表,以便以后可以找到它们进行练习。我在下面画了一个草图。它非常简化。

在 Activity1 中,用户选择天气来创建一个新的词汇表,或者选择一个旧的(然后必须更早地存储)。如果用户创建了一个新列表,他可以选择将它存储在Activity3中。在 Activity2 和 Activity3 之间会有一个 Activity,用户在其中练习他的词汇表的翻译。为简单起见,我在草图中删除了这个活动。

如何以编程方式保存由 Activity3 制成的字符串数组的词汇表,如果用户想从 Activity1 中选择旧列表,如何为每个列表/数组指定一个名称?

如果有人可以指导我,我将非常感激:-)

【问题讨论】:

我会创建一个以单词为主键的 sqlitedatabase... 本指南有帮助吗? developer.android.com/training/basics/data-storage/… 我会尽力而为!谢谢你的回复:-) 【参考方案1】:

为什么要将包括翻译在内的所有单词放在一个字符串数组中?真的需要吗?根据场景,我不这么认为.. 假设只需要一种语言的翻译。

    创建一个包含三个列(id、word 和 word_trans)的 SQLite 表 在Activity2中对每个单词执行插入操作。 在Activity3 中选择所有单词,将它们显示在列表中并练习翻译。对于特定的单词翻译,更新 sqlite-row 并将 word_trans 值设置为该值。 现在您有了一个用户词表,您可以随时选择它并进行翻译

【讨论】:

感谢您的回复!我会尝试你的建议。 我如何在技术上让应用程序的用户为特定的单词列表命名,并将此名称作为表的名称传递?例如,让用户在 EditText 字段中指定列表的名称,然后在创建数据库表时将此变量值作为表的名称: database.execSQL("CREATE TABLE IF NOT EXISTS name_from_value_of_variable (foreignWord TEXT , 翻译 TEXT)"); String tableName = editText.getText().toString() 然后在您的创建表查询中连接此字符串。这确实是一种不好的做法,永远不要相信你的用户,永远不要让他们输入表名。 execSQL 部分的语法如何?如果不这样做,我如何在技术上让应用程序创建新表,并在我制作应用程序时不以编程方式指定它们的情况下给它们命名? (我很抱歉我缺乏知识,我只是一个爱好程序员:-)

以上是关于永久存储多个单词列表的主要内容,如果未能解决你的问题,请参考以下文章

OpenFileDialog 永久存储文件

禁用 RPC 时如何在远程服务器上删除具有多个前缀的永久表

导出漂亮的永久链接和帖子标题列表

永久打开select2的下拉列表

如何永久删除列表视图项?

将更改(永久)保存在数组列表中?