首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android中加载不同国家的特定文件

如何在Android中加载不同国家的特定文件
EN

Stack Overflow用户
提问于 2012-03-09 10:23:32
回答 3查看 505关注 0票数 2

可能重复: 用Android编程改变语言

我想开发一个Android应用程序,它将提供一些具体的信息,根据用户的选择一个国家。因此,用户将选择一个国家和应用程序将更新该国家的字段。信息就是文字。每个国家的信息大约是2-3页,有不同的主要领域。

我的第一个想法是将文本文件添加到"res/raw“文件夹中的应用程序中,并在获得用户首选项后加载它们。这是最好的方法吗?另一个想法是在res/xml中添加xml文件(更容易解析?)。

如果我要使用预先打包的文本文件,那么解析文本文件以便在应用程序的特定字段中添加信息的最佳方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-09 10:26:20

我认为把它们放在"res/raw“里是好的。您可以考虑使用xml文件而不是纯文本文件。它可以更容易分析和更好地组织。

票数 2
EN

Stack Overflow用户

发布于 2012-03-09 10:57:28

建议使用Jave的方法,但您的方法也是可能的。为/res/value/strings.xml s.xml中的每个语言元素创建。您可以设置并选择具有共享首选项的所选语言。选择所选语言的文件如下所示:

代码语言:javascript
复制
TextView tv = (TextView) getViewById(R.id.textviewid);

SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean language = getPrefs.getString("language", "en");
if(language == "en") tv.setText(this.getString(R.string.en));
if(language == "nl") tv.setText(this.getString(R.string.nl));
if(language == "de") tv.setText(this.getString(R.string.de));

你必须为页面做一个布局来自己选择一种语言。设置语言首选项的java如下所示。我使用了文本视图来保持简单,但建议将其更改为下拉菜单。你必须把它放在一个地方,在点击一个按钮左右后,它会检查它。

代码语言:javascript
复制
EditText lang = (EditText) findViewById(R.id.etId);

SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
Editor editor = someData.edit();
editor.putString("language", lang.getText().toString());
editor.commit();

我没有测试任何东西,所以它可以包含错误。如果它确实显示错误,而您不知道如何修复它,我愿意帮助您。

我很抱歉我的英语不好

//编辑: strings.xml应该如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources>
    <string name="en">Hello! This is the text!</string>
    <string name="nl">Hallo! Dit is de tekst!</string>
    ....
</resources>
票数 1
EN

Stack Overflow用户

发布于 2012-03-09 10:35:53

并不是真正想要的东西,但您可能也对阅读关于本地化的开发人员文档感兴趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9632447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档