Android 多语言手册应用程序的数据存储

Android 多语言手册应用程序的数据存储,android,localization,data-storage,Android,Localization,Data Storage,我正在写一本印刷小册子的应用程序版本。这本小册子有多种语言。以印刷形式(对于单一语言),它只有大约12页长 启动应用程序的主屏幕是目录(TOC)。点击TOC标题将打开该“章节”,该章节为手册的1-2页部分。这将是设备上的垂直滚动屏幕。向左/向右滑动将显示手册的上一章/下一章。我打算有两个活动:一个是TOCActivity,另一个是DisplayChapterActivity,它将显示任何一章的内容 手册每两年更新一次,我希望数据存储在设备上,这样即使没有连接也可以访问手册。我的计划是在安装应用程

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

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

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

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

我看到两种选择:

  • 将章节放入SQLLite数据库中
  • 将章节放在单独的文本文件中
  • 这个问题分为两个部分:

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

  • 注意:这是我写的第一个应用程序。如果需要的话,我非常乐意澄清我的问题。

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

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

    2-如何告诉DisplayChapterActivity在加载章节时使用哪种语言版本?这可以链接到用于国际化的区域设置吗?或者我需要一个特定于应用程序的配置选项吗?

    如果要获取设备的选定语言。这可能对你有帮助

    Locale.getDefault().getDisplayLanguage();
    
    我希望我的回答能给你一个好的解决办法

    谢谢:)