Android 字符串应用浅析

  在写Android的程序过程中,总是会用到许许多多的字符串,在平时的程序实践中,我对字符串的应用有些个人的应用见解,如下:

1. 字符串的定义
        在我们需要引用字符串时,需要在strings.xml文件中定义一个相应的字符串名称,如果其他的地方需要用到相同的字符串,那么可以引用这个strings.xml中的字符串名称,例如要定义一个“开始时间”的字符串,那么就可以写成<string name=”start_time”>Start time</string> 。其中,我们在定义字符串的名称时需要与所要引用的字符串名称相一致,这样也方便查找,便于其他人员查看;另外,在定义字符串的名称时,尽量用小写的字母和下划线相连接,不要出现大写的字母,出现大写字符时,Eclipse在编译的时候是不会出错的,但是在项目运行的时候是会出现异常的。
 
2. 字符串的格式化应用
        在写程序的时,经常会遇到一些重复性的词语,但是又有那么一点的差别,例如“这是小莉,今年18岁”和“这是小姚,今年20岁”,这时我们就也没有必要分别定义了两个字符串了,只要写成
<string name=”introduce_message”>这是%1$s,今年%2$d 岁</string>,那么在Java文件中可以这样写:
String.format(getResources().getString(R.string.introduce_message),”小莉”,18),在这里需要说明的是:“$”后面的字符表示传入的字符串类型,例如“s”表示的是String类型,而“d”则表示的是整数类型。例如还有些其他的:
       long now=System.currentTimeMills();
       String time=String.foramt(“%tR”,now)          输出:16:42
       Date date=new Date(now)
       String nowDate=String.format(“%tD”,date)  输出:11/07/24
 
3. 自定义字符串的输出
        在写程序中,我们还会遇到这样的问题,在页面的布局中需要显示一行带有不同颜色,字体大小的文本,那么这时我们是不是需要风别定义几个个性特异的TextView?No,这是没有必要地(哎,不过以前倒是做过这样的事)。我们可以如此设计一个TextView的内容:
        TextView mTxtContent=new TextView(this);
        mTxtContent.setText(Html.fromHtml(“Hello <b> Android</b>,<font size=\”3\” color=\”red\”Hello Android!</font>”));  
那么输出的结果是:
        Hello  Android  Hello Android !
常用的字符操作有:<u></u>有下划线    <i></i>斜体字 <b></b>加粗,在string.xml中我们若是直接用 <string name=”hello_android”> <b> Hello Android</b> </string> 这样是出不来效果的还需要做一些转义的操作:用“&lt;”表示“<”,用“&gt;”表示“>”那么在strings.xml中写成<string name=”hello_android”>&lt;b&gt; Hello Android &lt;/b&gt;</string>是可以有效果的,常用的字符串的操作还有“\n”换行,“\t”缩进等。


本文转自HDDevTeam 51CTO博客,原文链接:http://blog.51cto.com/hddev/622449,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值