一、 引子:你肯定见过这种代码!
作为一名(自认为)才华横溢的开发者,你可能会在某个.java或.kt文件里写下这样的“杰作”:
textView.text = "点击登录"
button.text = "提交"
Toast.makeText(this, "登录成功!", Toast.LENGTH_SHORT).show()
看起来没毛病,跑起来也溜溜的。但是,当产品经理跑过来,眨巴着天真的大眼睛说:
“咱们App要出海了,下个版本支持英文和西班牙语哦!”
“这个‘提交’按钮,市场部说想统一改成‘确认提交’,更有仪式感。”
此刻的你,是不是感觉头皮一阵发麻?你需要翻遍整个项目,找到所有写了“提交”的地方,一个个修改。这无异于大海捞针,还极易出错漏掉一两个,变成“中英混合”的奇葩App。
看,这就是“硬编码”的硬伤!而我们的主角——字符串资源,就是来拯救你的超级英雄。
二、 字符串资源到底是什么鬼?
简单说,它就是把你App里所有显示给用户看的文字,都从代码里“抽”出来,统一放在一个叫res/values/strings.xml的文件里管理。
它为啥这么香?
- 国际化(i18n)的黄金钥匙:只需创建
res/values-en/strings.xml(英文)和res/values-es/strings.xml(西班牙语),系统会根据用户手机语言自动切换对应文字,轻松实现“一个App,走遍世界”。 - 一键统一,高效修改:所有文字集中管理,再也不用为了改个词而“全局搜索-替换”了。
- 保持代码清洁:代码里不再充斥各种魔数字符串,逻辑更清晰,可读性更强。
- 支持复杂格式:后面会讲到,它甚至能处理带变量、带样式(如加粗、换行)的复杂文本。
三、 基础操作:从“Hello World”到“老司机”
1. 创建与基本使用
在你的Android Studio项目中,找到res/values/strings.xml,它大概长这样:
<resources>
<string name="app_name">我的超级App</string>
<!-- 这里就是你的字符串大本营 -->
</resources>
怎么添加一个新的?简单!
<resources>
<string name="app_name">我的超级App</string>
<string name="welcome_message">你好,世界!欢迎来到我的App!</string>
<string name="login_button_text">点击登录</string>
<string name="login_success_toast">登录成功!</string>
</resources>
在代码中如何使用?
告别硬编码,拥抱R.string.xxx!
// Kotlin 写法
textView.text = getString(R.string.welcome_message)
button.text = g

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



