zoukankan      html  css  js  c++  java
  • ANDROID中获取STRING.XML,DIMENS.XML等资源文件中的值

    一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出英文。这样做国际化非常的方便。

    二:为了减少应用的体积,降低数据的冗余。假设在应用中要使用”我们一直在努力”这段文字1000次,如果在每次使用时直接写上这几个字,这样下来程序中将有70000个字,这70000个字占136KB的空间。而由于手机的资源有限,其CPU的处理能力及内存是非常有限的,   136KB 对手机内存来说是个不小的空间,我们在做手机应用是一定要记住“能省内存就省内存”。而如果将这几个字定义在string.xml中,在每次使用到的地方通过Resources类来引用该文字,只占用到了14B,因此对降低应用体积效果是非常有效地.当然我们可能在开发时可能并不会用到这么多的文字信息,但是,作为手机应用开发人员,我们一定要养成良好的编程习惯。

    好了言归正传,andorid中可能要获取的资源文件的类型有很多我在这里就不一一举例了,下文以string.xml为例!

    获取string.xml文件里面的值有几个不同的地方。

    1.在AndroidManifest.xml与layout等xml文件里:

    android:text=”@string/resource_name” 

     

    2.在activity里:

    方法一:this.getString(R.string.resource_name);  

    方法二:getResources().getString(R.string.resource_name); 

    3.在其他java文件(必须有Context或application)

    方法一: context.getString(R.string.resource_name); 

    方法二: application.getString(R.string.resource_name);

    获取其他的资源文件比如colors.xml的值也是一样直接用getResources().getColor(R.string.black);

    当然这里也可以用getResources().getDrawable(R.string.black);

    http://www.rjgc.cn/2014/07/24/android%E4%B8%AD%E8%8E%B7%E5%8F%96string-xmldimens-xml%E7%AD%89%E8%B5%84%E6%BA%90%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E5%80%BC/

  • 相关阅读:
    Hznu_0j 1533 计算球体积(水)
    电子警察
    UVA ——利用常量数组
    排序算法
    分解质因数
    几种数
    动态规划
    C. The Football Season (枚举) ( Codeforces Round #592 (Div. 2) )
    Fibonacci前n项和 (矩阵乘)
    2153: D.ly的排队问题 (拓扑排序)(vector , set , priority_queue )
  • 原文地址:https://www.cnblogs.com/cmblogs/p/4427899.html
Copyright © 2011-2022 走看看