我应该在SQLite,StringArrays还是内部存储中保存长文本实例?

时间:2014-06-30 19:07:23

标签: android sqlite

我正在构建一个学习语言的Android应用程序。到目前为止,我已经在一个word doc中写了这些课程。所以现在我想知道如何在应用程序中保存这些课程。

共有5节课,每节课包含500-1000个单词,并且应该有一个音频文件 我已经在类ala:

中使用字符串数组成功实现了这一点
public class Lecture {
    static String[] LectureContent = {
        "First lesson ...",
        "Second lesson ..."
    };
}

但我想知道使用SQLite是否会更好,但我应该怎么做呢? 我应该创建一个表“课”,例如String query =“CREATE TABLE lesson(_id INTEGER PRIMARY KEY,lessonContent TEXT,”+“AudioFile FILE)”;

让_ID代表课程编号,而不仅仅是使用文本填充课程内容。我应该在我的应用程序或其他地方的onCreate中填充它。

值得注意的是,我希望稍后添加其他课程,即使用新课程更新应用程序。

请帮忙。我现在想的太久了。

1 个答案:

答案 0 :(得分:0)

我会使用Sqlite表,每个语言或功能一个。这将允许您稍后通过模块化系统动态加载新的配置文件和语言。对于基于文本的应用程序,您可能目前分配和加载了太多内存。因为它也可能有点慢。

如果您要为其他应用程序提供API,那么使用基于Sqlite的方法可以节省很多痛苦(转向内容提供商,这是后续课程的一部分)。

使用内容提供商,您可以将其他应用程序和其他语言的安装实际创建自己的表,加载自己的表,或者只是添加到现有表中。然后,每个都有一个唯一的标识符,以便主要内容提供商可以识别为内容授权安装的应用程序。你可以这样做,以防止一些盗版。

您可以轻松获得速度和可靠性。您可以使用Sdcard,但是当与平面文件,XML甚至JSON相比时,锁定可能会相对较慢。此外,SQLite DB可以存储在SD上。

如果这有帮助,请告诉我。