Android资源优化 - string抽取技巧与命名规范

本文介绍了一种优化Android项目中字符串资源的方法,通过使用占位符和String.format()方法,可以更灵活地处理UI上的动态文本展示,避免警告并提高代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发项目中,大多会因为时间不宽裕,造成代码优化不足,如共性的string,color,style没有抽取,而本文讲到的就是string的一个抽取技巧和格式。

代码中:

  //通写方式,平常我们已字符串形式拼接
  mPeople.setText(i + "人觉得有用");

一般抽取(常规):

  <string name="dis_num">人觉得有用</string>

展示形式:

  mPeople.setText(i + R.string.dis_num);

以上的方式我们固然没有问题,但是部分时候会有(Do not concatenate text displayed with setText,use resource string with placeholders)占位符提示警告,同时拥有强迫症的,肯定想用到更优的方式!请看以下方式!

抽取string:

  <string name="dis_link_num">%1$d人觉得有用</string>

展示形式:

  mPeople.setText(String.format(getResources().getString(R.string.dis_link_num), i ));

如多个抽取,占位符使用方式(也是一个拼接形式,只不过是内部拼接):

  <string name="dis_link_num">%1$d人%2$d虎%3$d神仙</string>

格式讲解(这里要注意你的类型!!!):
%ns−−−>n表示目前是第几个参数(比如s--->n表示目前是第几个参数 (比如%1s>ns中的1代表第一个参数),s代表字符串
%nd−−−>n表示目前是第几个参数(比如d--->n表示目前是第几个参数 (比如%1d>nd中的1代表第一个参数),d代表整数
%nf−−−>n表示目前是第几个参数(比如f--->n表示目前是第几个参数 (比如%1f>nf中的1代表第一个参数),f代表浮点数

string的一切命名规范(格式)

Toast类型:

  <string name="toast_question">请说明您要提出的问题!</string>

Title类型:

  <string name="title_home">首页</string>

Tab类型:

  <string name="tab_gossip">汽车百科</string>

Text展示类型:

  <string name="dis_answer">回答</string>

Edit编辑类型:

  <string name="et_name">请输入您的姓名</string>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

远方那座山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值