[android]在程序代码中获取strings.xml中的字符串值

     在xml中获取strings.xml的值非常简单,有些情况下我们需要在java代码中获取strings.xml中的字符串的值。尽量将字符串定义在strings.xml是一种非常好的习惯,可以使以后的维护变得方便快捷,同时也避免了程序代码中充斥着过多写死的字符串常量的情况,使程序更加简洁干练。

    在Activity的子类中获取string.xml的值方法如下:

 String value = this.getString(R.string.XXX);
//或者是:
String  value=this.getResources().getString(R.string.XXX);

如果在其他普通java类【未继承Activity的类】中,则要注意,先声明一个Context对象context或者Application类的对象application,

然后:

String value = context.getString(R.string.XXX);
//或者
String value = application.getString(R.string.XXX);
有些情况下因为java类与Activity的子类不在同一个包中,所以R.string.XXX会报错,这时需要引入继承了Activity的类所在的包。

例如:

 String privateLocation =context.getResources().getString(
 			com.wang.Activity.R.string.privateDataStoreLocationFileName);
 String commLocation=application.getResources().getString(
			com.wang.Activity.R.string.commDataStoreLocationFileName);

往往第二种情况比较常见,所以记住如果是在其他没有继承Activity或者位于其他包中的普通java类中引用strings.xml中字符串的值,就需要采取

context.getResources().getString(Activity所在的包.R.string.XXX) 或者
application.getResources().getString(Activity所在的包.R.string.XXX)的方法
来获取。





  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值