`
ljl_xyf
  • 浏览: 634434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android中String资源文件的String.format方法(java)

阅读更多

很多时候我们感性Google在设计Android 时遵守了大量MVC 架构 方式,可以让写公共代码、美工和具体逻辑开发人员独立出来。有关Android 的资源文件values/strings.xml中如何实现格式化字符串呢? 这里Android123举个简单的例子,以及最终可能会用到哪些地方。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3.     <string name="app_name">http://www.my400800.cn </string>
  4.     <string name="hello">400电话 </string>
  5. </resources>
复制代码

上面是一段简单的字符串资源文件,没有用到格式化,因为比较简单直接描述了意思,当我们设计一个类似 Delete xxx File ? 的时候,我们可能需要在Java中动态获取 xxx 的名称,所以定义资源时使用格式化可以轻松解决,不需要一堆String去拼接或StringBuffer一个一个append这样的愚蠢方法,看例子

  1. <string name="alert">Delete %1$s File</string>
复制代码

这里%1$s代表这是一个字符串型的,如果是整数型可以写为%1$d,类似printf这样的格式化字符串函数,当然如果包含了多个需要格式化的内容,则第二个可以写为%2$s或%2$d了,那么最终在Java中如何调用呢? 看下面的例子:

例一: 整数型的

  1. <string name="alert">I am %1$d years old</string>
复制代码

定义的是这样的

当然,我们杜绝意外情况,比如冒出个secret这样的string类型的,注意上面是%1$d不是%1$s,所以默认标准的合并成为

  1. int nAge=23;
  2. String sAgeFormat = getResources().getString(R.string.alert);
  3. String sFinalAge = String.format(sAgeFormat, nAge);
复制代码

这样执行完后,就组成了 I am 23 years old,是不是很方便啊.  当然了,下面看下String字符串时的情况.

例二: 字符串型的

  1. String sName="cwj"
  2. String sCity="Shanghai"
复制代码

资源定义为

  1. <string name="alert2">My name is %1$s , I am form %2$s</string>
复制代码

则Java中只需要

  1. String sInfoFormat = getResources().getString(R.string.alert2);
  2. String sFinalInfo=String.format(sInfoFormat, sName, sCity);
复制代码

我们看到了整个,整个定义类似MFC的CString::Format或Mac OS中的NSLog,但是需要显示类似C#中那样显示的标出参数的数字,比如%1或%n,这里数字代表参数的第n个。本行最终sFinalInfo显示的内容为

分享到:
评论

相关推荐

    于Android中String资源文件的format

    ### Android中String资源文件的format详解 在Android应用开发过程中,资源文件的高效利用与管理对于提高开发效率、降低维护成本具有重要意义。其中,`strings.xml`文件作为存放字符串资源的重要组成部分,在实际...

    Android string拼接

    本文将详细介绍如何在Android项目中利用`String`资源进行字符串拼接,包括基本原理、实现方法及注意事项。 #### 基本概念 1. **资源文件**:在Android中,我们可以将常量文本存储在资源文件中,通常这些资源文件...

    StringFormat的使用(扩展:网络地址)

    `StringFormat`是Java语言的一个部分,但在Android中同样适用。本篇文章将深入探讨`StringFormat`的使用,并延伸到如何定义全局变量来存储网络地址。 1. `StringFormat`的基本使用 `StringFormat`的主要方法是`...

    listView注册右键菜单以及String.format的应用

    `String.format`方法则是Java语言中用于格式化字符串的强大工具。在本篇文章中,我们将深入探讨这些知识点。 首先,让我们来看看如何在ListView中注册右键菜单。在Android系统中,上下文菜单(Context Menu)通常在...

    localized-digits:Android应用演示了如何在语言环境中本地化String.format(“%d”,0)

    您必须使用String.format(Locale.US, "%d", 1)生成字符串中机器可读的数字表达式,否则它可能会在某些语言环境中生成非ascii本地化的字符。 这是什么? 此单一活动应用程序在设备上的可用语言环境中显示String....

    Android 带小数点的字符串格式化为固定位数

    在提供的压缩包文件"StringFormat"中,很可能包含了一个名为`StringFormatUtil`的工具类,它封装了上述的格式化逻辑,以便在项目中方便地调用。这个工具类可能提供了如`formatDecimal(String str, int totalWidth, ...

    Java/Android 获取系统时间

    以下介绍一种常用的方法,即通过`java.util.Date`类结合`java.text.DateFormat`类来实现。 ##### 1. 使用`java.util.Date`类获取当前日期和时间 `java.util.Date`类提供了创建日期对象的功能,可以用来表示特定的...

    android string.xml %1$s %d\%的用法

    在Android开发中,`string.xml` 文件是应用中管理字符串资源的重要部分,它允许开发者集中存储和管理应用程序中的文本内容,提高代码可读性和维护性。`%1$s` 和 `%d\%` 是在 `string.xml` 文件中常用的格式化符号,...

    Android string.xml中的替换方法

    在Android应用开发中,资源管理是非常重要的一部分,其中string.xml文件用于存储应用程序中使用的文本字符串。这不仅方便了代码的维护,还支持多语言环境。本文将深入探讨Android string.xml中的替换方法,以及如何...

    Android的SQLite中DateTime类型数据的存取问题

    在 Android 的 SQLite 中,数据是弱类型存储的,因此需要使用 String 类型来取出日期类型数据,然后使用 SimpleDateFormat 将其转换成 java.util.Date 类型。下面是一个示例代码: ```java String str; ...

    Android String

    在Android开发中,`...综上所述,`Android String`在应用开发中扮演着至关重要的角色,涉及到UI显示、资源管理、国际化等多个方面。理解和熟练运用这些知识点对于提升Android应用的用户体验和功能完整性至关重要。

    Android字符串资源文件format方法使用实例

    总结起来,Android字符串资源文件中的format方法允许我们在资源文件中定义格式化字符串,然后在代码中通过`String.format()`方法填充具体的值。这种做法有助于代码的清晰组织,减少拼接操作,并且支持多种类型的格式...

    Android里List时间升序排序

    在Android开发中,数据的排序是一项常见的操作,特别是在处理列表数据时。本篇文章将深入探讨如何在`List&lt;String&gt;`...在Android开发中,掌握这种方法可以有效提升代码的可读性和维护性,确保日期数据的正确展示和处理。

    Android资源文件[转].doc

    Android资源文件是应用程序开发中不可或缺的部分,它们包含了各种类型的数据,如XML、图像、音频等,这些资源在编译时被打包进应用,并在运行时通过`Resources`类进行访问。资源的使用不仅可以提高代码的可读性和可...

    Android中使用XML文件定义字符串.pdf

    本篇文章将详细阐述如何在Android中使用XML文件来定义字符串资源。 首先,字符串资源通常存储在`res/values`目录下的`strings.xml`文件中。这个文件是一个XML文档,包含了多个字符串元素,每个元素都代表一个独立的...

    Android String资源文件插入值实例详解

    在Android开发中,String资源文件是管理应用内文本的重要手段,它允许开发者将所有文本集中管理,便于国际化和本地化。本文将详细讲解如何在Android String资源文件中插入动态值,以及在代码中如何使用这些格式化的...

    android-date_and_time.zip_Time_java-time-and-date

    本教程将深入探讨如何在Android中利用Java Time API(`java.time`包)来管理日期和时间。 首先,`java.time.LocalDate`类用于表示没有时区信息的日期。例如,创建一个当前日期的实例: ```java LocalDate today = ...

    String方法使用方法例子续--android

    在Android开发中,String类是Java语言中的核心类,它被广泛用于处理文本信息。String对象不可变,意味着一旦创建,其内容就不能更改。这里我们将深入探讨`String`类的一些重要方法及其在Android开发中的应用。 1. *...

    android string转换为int

    在Android开发中,字符串(String)与整型(int)之间的转换是常见的操作。尤其是在处理用户输入、资源读取或解析JSON数据时,我们经常需要将字符串转化为整型。本篇将详细介绍如何在Android中进行这种转换,并提供...

Global site tag (gtag.js) - Google Analytics