0

我正在编写印刷小册子的应用程序版本。该手册有多种语言版本。以印刷形式(针对单一语言)只有大约 12 页长。

启动应用程序的主屏幕是目录 (TOC)。单击目录标题将打开该“章节”,这是手册的 1-2 页部分。这将是设备上的垂直滚动屏幕。向左/向右滑动将显示手册的上一章/下一章。我打算有两个活动:一个 TOCActivity 和一个 DisplayChapterActivity,它将显示它被告知的任何章节的内容。

手册每两年更新一次,我希望将数据存储在设备上,以便即使没有连接也可以访问手册。我的计划是在安装应用程序时将所有语言版本下载到设备上,以便用户可以随时切换到任何版本。这对存储的需求不是很大,因为小册子都是文本并且不是很长。

我知道如何本地化应用程序菜单、标题等。但是每个“章节”的内容呢,存储它的最佳方式是什么?一章会有几段,所以它们不是很长,但我认为在本地化值/* XML 文件中存储多行字符串是个坏主意。

我看到两个选项:

  1. 将章节放在 SQL lite 数据库中。
  2. 将章节放在单独的文本文件中

这个问题有两个部分:

  1. 在这种情况下,上述哪个选项更适合存储?
  2. 加载章节时如何告诉 DisplayChapterActivity 使用哪个语言版本?这可以链接到用于国际化的语言环境,还是我需要一个特定于应用程序的配置选项?

注意:这是我写的第一个应用程序。如果需要,我很乐意澄清我的问题中的任何内容。

4

1 回答 1

0

1 - 在这种情况下,上述哪个选项更适合存储?

FILESYSTEM vs SQLITE,同时存储多达 10M 文件

它可以帮助您决定是使用 SQLite 还是使用 FileSytem。

2 - 加载章节时如何告诉 DisplayChapterActivity 使用哪个语言版本?这可以链接到用于国际化的语言环境,还是我需要一个特定于应用程序的配置选项?

如果您想获得设备的选定语言。这可能会帮助你

Locale.getDefault().getDisplayLanguage();

我希望我的回答能让你找到一个很好的解决方案。

谢谢 :)

于 2012-07-22T20:31:13.760 回答