各位看官们,大家好,上一回中咱们说的是Android中使用自定义控件的例子,这一回说的例子是Android中的字符串。闲话休提,言归正转。让我们一起Talk Android吧!
看官们,这一回和内容和上一章回的内容没有联系,之所以介绍这方面的内容,主要是我在工作中遇到了一些小细节,这些细节不常用,为此把它记录下来,一则方便以后查阅,再则和大家共享这些知识,也许大家以后会使用到。
这一回中我们介绍的内容主要是安卓中的字符串,这里的字符串主要指程序界面中出现的字符串,从技术角度看,主要是指位于projectName\app\src\main\res\values\strings.xml
文件中的字符串。好了我们开始进入主题吧。
我们在程序中肯定会使用字符串,字符串最标准的用法就是在strings.xml
中添加内容,然后在其它地方引用。下面通过代码来演示如何添加和引用字符串:
<resources>
<string name="str_01">Hello</string>
//这里的str_01是字符串的key,Hello是字符串的具体内容。添加字符串时按照此键值对的语法添加就可以
</resources>
在xml布局文件中的使用方法如下:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/str_01"/>
//这里通过字符串的key来使用字符串,在程序界面中显示的是字符串的具体内容,也就是Hello。
在代码中的使用方法如下:
Toast.makeText(this,R.string.str_01,Toast.LENGTH_LONG).show();
//这里通过字符串的key来使用字符串,在程序界面中显示的是字符串的具体内容,也就是Hello。
大家可以看到把字符串写成键值对的形式,在使用它的时候只需要通过它的键就可以使用它的内容。
接下来我们介绍一下字符串的属性,我们还是通过代码结合文字的方式和显示:
<string name="app_name" product="tablet">Tablet App</string> //这里的product属性为tablet,表示在平板中使用
<string name="app_name" product="default">Phone App</string> //这里的product属性为default,表示在手机中使用
大家可以看到这个字符串具有相同的Key,但是却有不同的内容,那么到底使用哪个内容呢?这个就需要看它的属性了,也就是说属性和key共同决定了字符串的内容。通常情况下字符串的属性不会出现,表示在手机中使用,这也是默认属性值,此外它还有手表属性值,表示在手表中使用。毕竟现在不只手机在使用Android系统了,使用属性来限制字符串的使用,这点可以理解,而且对于开发都来说使用起来也很方便。
明白字符串的属性后,我们再看看字符串中的特殊字符,因为程序中难免会遇到一些特殊的符号,遇到了怎么办,Android提供的方案是使用十进制编码,具体语法格式如下:
<string name="str_02">"©"</string>
//这里的169就是一个十进制编码,其它符号都是语法要求的,不能省略
该编码表示公司符号:( ©)大家都见过,但是键盘上没有办法输入,我们可以通过编码来显示它。其它特殊符号的编码值大家可以自己去查阅,我就不一一列出了。
各位看官,关于Android中字符串的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!