Android资源访问——字符串资源

本文详细介绍了如何在Android应用中修改应用名称、使用字符串资源、实现国际化显示,并提供了相应的代码示例。

字符串资源
res->values->strings.xml 进入字符串资源
默认给出的字符串资源有三个
app_name
action_settings
hello

其中app_name在AndroidManifeat文件中被使用:

  <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

android:label=”@string/app_name”表明应用程序的标签为@string/app_name

(1) 修改app的名字

通过修改strings.xml文件中的app_name,可以修改app的名字:
<string name="app_name">L013StringRes</string>
修改其中的L013StringRes即可

(2)应用程序使用字符串资源

在strings.xml文件中新建一个字符串资源:
<string name="word">hello</string>
如上是name为word,内容为hello的一个字符串。
新建之后会在gen目录下的R.java文件中自动生成一个id:
public static final int word=0x7f050003;
通过这个id可以使用这个字符串资源。
在程序中使用:
打开MainActivity文件,在onCreate()中写入如下代码

String str = getResources().getString(R.string.word);
System.out.println(str);

运行后会在LogCat中发现成功输出了hello

(3) 在应用程序启动后将TextView中的text中的指向改为word

在activity_main文件中含有一个TextView标签,给它加一个id,方便我们访问它android:id="@+id/tv"
在MainActivity中定义TextView tv
并通过findViewById()查找到TextView

    private TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) findViewById(R.id.tv);
        tv.setText(R.string.word);
    }

(4)国际化
APP名称多语言显示:
values右键->New->Android xml file->创建一个Android xml文件
这里写图片描述
(有个警告:名字为strings的文件已经存在,但是没有关系,你可以继续。)
->Next->选择language zh(代表中文)->选择region CN(CN代表简体中文,TW代表繁体中文)
这里写图片描述

此时会在res文件夹里重新创建一个文件夹values-zh-rCN,里面也有一个strings文件,可以在其中写如下代码

<?xml version="1.0" encoding="utf-8"?>
<resources>
        <string name="app_name">字符串</string>
</resources>

在虚拟机中运行程序,会发现应用的名字仍然是strings,打开虚拟安卓手机中的设置(Settings),打开它的语言language选项,选择简体中文(也有些虚拟机没有此选项)。
Settings->应用程序->管理应用程序->正在运行->启动器->强行停止->返回桌面->进入应用程序列表(所有app名字呈现出中文)

APP内容多语言显示:
在values-zh-rCN中的strings文件中写入
<string name="word">你好!</string>
再在activity_main.xml文件中的TextView中指定呈现的文字是word
在中文环境下运行APP,会出现中文“你好!”
而在英文环境下运行APP,会出现英文“hello”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值