[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)的方法
来获取。

 
  
 
  
 
  
 
  
 
 

你可能感兴趣的:(strings.xml,Java语言,Android移动开发)