String.xml

来源:互联网 发布:matlab离散数据求导 编辑:程序博客网 时间:2024/06/09 15:06
string.xml是Android应用中存储字符串的文件,一般将应用界面中会出现的文字定义在这里。本文讲述了为什么要把应用中出现的文字单独存放在string.xml文中,还有string.xml在Android中的使用。
为什么需要把应用中出现的文字单独存放在string.xml文中呢?


接着往下看本人觉得想要是自己的项目更便于管理和控制那么接着看下去


一:是为了国际化

Android建议将在屏幕上显示的文字定义在strings.xml中,如果今后需要进行国际化,比如我们开发的应用本来是面向国内用户的,当然在屏幕上使用中文,而如今我们要让应用走向世界,打入日本市场,当然需要在手机屏幕上显示日语,如果没有把文字信息定义在string.xml中,就需要修改程序的内容了但当我们把所有屏幕上出现的文字信息都集中存放在string.xml文件之后,只需要再提供一个string.xml文件,把里面的汉子信息都修改为日语,再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出日语。这样做国际化非常的方便。



二:为了减少应用的体积,降低数据的冗余

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



1.在程序中获取string.xml中字符串和数值


<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="hello">Hello World, MainActivity!</string> 
    <string name="app_name">TestExample01</string> 
</resources> 
在Activity中使用:


String appName=(String) this.getResources().getText(R.string.app_name); 
Log.i("test", "appName="+appName); 
或者:


String appName=(String) this.getResources().getString(R.string.app_name); (调用语句)
Log.i("test", "appName="+appName); 
2.定义string数组(arrays.xml)


<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string-array name="sports"> 
 <item>足球</item> 
 <item>篮球</item> 
 <item>太极</item> 
 <item>冰球</item> 
    </string-array> 
</resources> 
 

----getResources().getStringArray(R.string.sports); (调用语句)


3.定义颜色(colors.xml)


<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <color name="black">#FFFFFF</color> 
</resources> 
 
---getResources().getDrawable(R.string.black); (调用语句)

---getResources().getColor(R.string.black); (调用语句)


4.定义尺寸(dimens.xml)


<?xml version="1.0" encoding="utf-8"?> 
<resources> 
   <dimen name="height">80dip</dimen> 
</resources> 
 

---getResource().getDimension(R.string.height); (调用语句)


5.定义样式(styles.xml)


<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="sharpText"> 
 <item name="android:textSize">18sp</item> 
 <item name="android:textColor">#000000</item> 
    </style> 
</resources> 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信发现没有购物怎么办 微信转账钱被骗怎么办 玩连环夺宝输了好多钱怎么办 厘米秀换不了装怎么办 社保只缴纳两年怎么办 502盖子粘到手上怎么办 口红粘在盖子上怎么办 玫瑰手杖永久错过了怎么办 手指沾到502胶水怎么办 我退款了货到了怎么办 世纪天成账号被盗什么也没绑怎么办 韩国电话卡不想用怎么办2018 汽车没有年检交警抓到怎么办 ios软件未受信任怎么办 淘宝开店被管理了怎么办 微店网络异常025怎么办 商家给买家返款转错了怎么办 淘宝号限制下单怎么办 淘宝退货单号填错了怎么办 淘宝买家申请退款不退货怎么办 不支持7天无理由怎么办 淘宝上不给退货怎么办 网购衣服买小了怎么办 淘宝上全球购买到假货怎么办 京东全球购税费怎么办 代购被海关税了怎么办 网上买猫被骗了怎么办 苏宁账号被冻结怎么办 九州娱乐提款未到账怎么办 法院拍卖后不足的余款怎么办 购车后余款没拿怎么办? 抵押房屋被执行后余款怎么办 苏宁无敌券过期怎么办 被亚马逊自营跟卖怎么办 苏宁易购绑定手机后解绑不了怎么办 手机qq注册号码忘了怎么办 原创头条号被限制推荐了怎么办 为什么打开app有广告怎么办 苹果手机浏览器总是弹出广告怎么办 手机上打开页面出现广告怎么办 电脑下面的任务栏变宽了怎么办