很多时候我们感性Google在设计Android
时遵守了大量MVC
架构
方式,可以让写公共代码、美工和具体逻辑开发人员独立出来。有关Android
的资源文件values/strings.xml中如何实现格式化字符串呢? 这里Android123举个简单的例子,以及最终可能会用到哪些地方。
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string name="app_name">http://www.my400800.cn
</string>
- <string name="hello">400电话
</string>
- </resources>
复制代码
上面是一段简单的字符串资源文件,没有用到格式化,因为比较简单直接描述了意思,当我们设计一个类似
Delete xxx File ? 的时候,我们可能需要在Java中动态获取 xxx
的名称,所以定义资源时使用格式化可以轻松解决,不需要一堆String去拼接或StringBuffer一个一个append这样的愚蠢方法,看例子
- <string name="alert">Delete %1$s
File</string>
复制代码
这里%1$s代表这是一个字符串型的,如果是整数型可以写为%1$d,类似printf这样的格式化字符串函数,当然如果包含了多个需要格式化的内容,则第二个可以写为%2$s或%2$d了,那么最终在Java中如何调用呢?
看下面的例子:
例一: 整数型的
- <string name="alert">I am %1$d years
old</string>
复制代码
定义的是这样的
当然,我们杜绝意外情况,比如冒出个secret这样的string类型的,注意上面是%1$d不是%1$s,所以默认标准的合并成为
- int nAge=23;
- String sAgeFormat = getResources().getString(R.string.alert);
- String sFinalAge = String.format(sAgeFormat, nAge);
复制代码
这样执行完后,就组成了 I am 23 years
old,是不是很方便啊. 当然了,下面看下String字符串时的情况.
例二: 字符串型的
- String sName="cwj"
- String sCity="Shanghai"
复制代码
资源定义为
- <string name="alert2">My name is %1$s , I am form %2$s</string>
复制代码
则Java中只需要
- String sInfoFormat = getResources().getString(R.string.alert2);
- String sFinalInfo=String.format(sInfoFormat, sName, sCity);
复制代码
我们看到了整个,整个定义类似MFC的CString::Format或Mac
OS中的NSLog,但是需要显示类似C#中那样显示的标出参数的数字,比如%1或%n,这里数字代表参数的第n个。本行最终sFinalInfo显示的内容为
分享到:
相关推荐
### Android中String资源文件的format详解 在Android应用开发过程中,资源文件的高效利用与管理对于提高开发效率、降低维护成本具有重要意义。其中,`strings.xml`文件作为存放字符串资源的重要组成部分,在实际...
本文将详细介绍如何在Android项目中利用`String`资源进行字符串拼接,包括基本原理、实现方法及注意事项。 #### 基本概念 1. **资源文件**:在Android中,我们可以将常量文本存储在资源文件中,通常这些资源文件...
`StringFormat`是Java语言的一个部分,但在Android中同样适用。本篇文章将深入探讨`StringFormat`的使用,并延伸到如何定义全局变量来存储网络地址。 1. `StringFormat`的基本使用 `StringFormat`的主要方法是`...
`String.format`方法则是Java语言中用于格式化字符串的强大工具。在本篇文章中,我们将深入探讨这些知识点。 首先,让我们来看看如何在ListView中注册右键菜单。在Android系统中,上下文菜单(Context Menu)通常在...
您必须使用String.format(Locale.US, "%d", 1)生成字符串中机器可读的数字表达式,否则它可能会在某些语言环境中生成非ascii本地化的字符。 这是什么? 此单一活动应用程序在设备上的可用语言环境中显示String....
在提供的压缩包文件"StringFormat"中,很可能包含了一个名为`StringFormatUtil`的工具类,它封装了上述的格式化逻辑,以便在项目中方便地调用。这个工具类可能提供了如`formatDecimal(String str, int totalWidth, ...
以下介绍一种常用的方法,即通过`java.util.Date`类结合`java.text.DateFormat`类来实现。 ##### 1. 使用`java.util.Date`类获取当前日期和时间 `java.util.Date`类提供了创建日期对象的功能,可以用来表示特定的...
在Android开发中,`string.xml` 文件是应用中管理字符串资源的重要部分,它允许开发者集中存储和管理应用程序中的文本内容,提高代码可读性和维护性。`%1$s` 和 `%d\%` 是在 `string.xml` 文件中常用的格式化符号,...
在Android应用开发中,资源管理是非常重要的一部分,其中string.xml文件用于存储应用程序中使用的文本字符串。这不仅方便了代码的维护,还支持多语言环境。本文将深入探讨Android string.xml中的替换方法,以及如何...
在 Android 的 SQLite 中,数据是弱类型存储的,因此需要使用 String 类型来取出日期类型数据,然后使用 SimpleDateFormat 将其转换成 java.util.Date 类型。下面是一个示例代码: ```java String str; ...
在Android开发中,`...综上所述,`Android String`在应用开发中扮演着至关重要的角色,涉及到UI显示、资源管理、国际化等多个方面。理解和熟练运用这些知识点对于提升Android应用的用户体验和功能完整性至关重要。
总结起来,Android字符串资源文件中的format方法允许我们在资源文件中定义格式化字符串,然后在代码中通过`String.format()`方法填充具体的值。这种做法有助于代码的清晰组织,减少拼接操作,并且支持多种类型的格式...
在Android开发中,数据的排序是一项常见的操作,特别是在处理列表数据时。本篇文章将深入探讨如何在`List<String>`...在Android开发中,掌握这种方法可以有效提升代码的可读性和维护性,确保日期数据的正确展示和处理。
Android资源文件是应用程序开发中不可或缺的部分,它们包含了各种类型的数据,如XML、图像、音频等,这些资源在编译时被打包进应用,并在运行时通过`Resources`类进行访问。资源的使用不仅可以提高代码的可读性和可...
本篇文章将详细阐述如何在Android中使用XML文件来定义字符串资源。 首先,字符串资源通常存储在`res/values`目录下的`strings.xml`文件中。这个文件是一个XML文档,包含了多个字符串元素,每个元素都代表一个独立的...
在Android开发中,String资源文件是管理应用内文本的重要手段,它允许开发者将所有文本集中管理,便于国际化和本地化。本文将详细讲解如何在Android String资源文件中插入动态值,以及在代码中如何使用这些格式化的...
本教程将深入探讨如何在Android中利用Java Time API(`java.time`包)来管理日期和时间。 首先,`java.time.LocalDate`类用于表示没有时区信息的日期。例如,创建一个当前日期的实例: ```java LocalDate today = ...
在Android开发中,String类是Java语言中的核心类,它被广泛用于处理文本信息。String对象不可变,意味着一旦创建,其内容就不能更改。这里我们将深入探讨`String`类的一些重要方法及其在Android开发中的应用。 1. *...
在Android开发中,字符串(String)与整型(int)之间的转换是常见的操作。尤其是在处理用户输入、资源读取或解析JSON数据时,我们经常需要将字符串转化为整型。本篇将详细介绍如何在Android中进行这种转换,并提供...