Android资源知识(三)之String资源

    字符串可以说是我们使用频率最高的一种资源之一了,毕竟每一款APP当中都要有一些文本提示信息或标题文字等。为了在开发过程中更加方便快捷的使用字符串,Android为我们提供了强大的字符串String资源。下面我们就系统的来学习下吧。

一、使用场景

    1、默认的窗口标题,应用程序名称
    2、某些Activity中的操作步骤,提示信息
    3、根据参数动态显示的一些字符串信息
    (注:此处只列举了几种常用的场景,并不是全部使用场景)


    Android主要支持了普通字符串String字符串数组array占位符格式化字符串简易的html标签格式化字符串复数字符串Quantity Strings (Plurals)5种使用方式。其中复数字符串是用来适应不同语言中数量关系的使用不同,如英语中one book,three books……此处就不作详说了,感兴趣的读者可以详查官方文档。

二、普通字符串String

    文件路径:res/values/filename.xml**
    引用方式如下:
    In Java: R.string.string_name
    In XML:@string/string_name
语法示例:



    Hello!


String string = getString(R.string.hello);

三、字符串数组array

    文件路径:res/values/filename.xml
    引用方式如下:
    In Java: R.array.string_array_name
语法示例:



    
        Mercury
        Venus
        Earth
        Mars
    

Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);

四、占位符格式化字符串

    占位符格式化字符串要结合方法** String.format(String, Object...)**使用,示例如下:

Hello, %1$s! You have %2$d new messages.

%1,%2,……%n表示占位符

Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);

五、html标签格式化字符串

示例代码如下:



    Welcome to Android!

Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
CharSequence styledText = Html.fromHtml(text);

注意:只支持以下几个标签
:粗体
:斜体
:下划线
如果字符串中包含了html的特殊字符,如“<”,“>”,“&”等,必须先使用htmlEncode方法进行格式化后,再使用format方法格式化,示例如下:

String escapedUsername = TextUtil.htmlEncode(username);

Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), escapedUsername, mailCount);
CharSequence styledText = Html.fromHtml(text);

你可能感兴趣的:(Android资源知识(三)之String资源)