永久存储多个单词列表
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 部分的语法如何?如果不这样做,我如何在技术上让应用程序创建新表,并在我制作应用程序时不以编程方式指定它们的情况下给它们命名? (我很抱歉我缺乏知识,我只是一个爱好程序员:-)以上是关于永久存储多个单词列表的主要内容,如果未能解决你的问题,请参考以下文章