android字符串资源以及格式化记录

在android程序编写过程中,为了实现国际化和更方便的统一化管理,一般都会把字符串等一些资源以xml的格式保存起来,放置在res/value目录下面。

本人在编写的过程中,经常出现各种字符串拼接的段落,尤其在adapter显示数据中,甚至要拼接5、6个字符串,简直到手抽筋,后来在闲时在网上无意看到这种方式,简直爱不释手,在此收集各种表达式。请各位大佬不吝赐教。可怜

先来说一下使用方法:

在<string />标签里,可以用这种表现形式: <string name = "xx">固定文本%index$参数格式固定文本</string>,

举个栗子:

需要显示这样的字符串“名称:xx",其中xx是不固定的。

那我们可以.settext(getString(R.string.name)+xx);这样当然可以,

只是在这里我使用另一种方式:settext(getString(R.string.name, "xx");

然后来看string资源里面的写法:<string name = "name">名称:%1$s</string> 根据上面红色内容部分来看,固定文本对应的是”名称:“;%是不变的,暂且表示起始标志;1和index对应,表示在getString里面传参时第几个参数,从1开始;s和参数格式对应,常用的几个格式分别是:s(string);d(int);f(float)


tips:参数格式是f的时候,需要在$后面f前面添加   .数字(前面有个点哦) ,用来确认保留几位小数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Android 应用中,你可以使用 `SimpleDateFormat` 类来格式化时间字符串。 例如,假设你想将时间字符串 "2022-12-29T16:30:00" 格式化成 "2022年12月29日 下午4:30" 的格式,你可以这样做: ```java String timeString = "2022-12-29T16:30:00"; SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy年MM月dd日 a h:mm"); try { Date date = inputFormat.parse(timeString); String outputString = outputFormat.format(date); System.out.println(outputString); // 输出:2022年12月29日 下午4:30 } catch (ParseException e) { e.printStackTrace(); } ``` 在这里,我们首先使用 `inputFormat` 将时间字符串解析为 `Date` 类型,然后使用 `outputFormat` 将时间格式化为所需的格式。 注意,格式化字符串中的一些关键字符,如 "yyyy"、"MM"、"dd" 等,表示时间中的年份、月份、日期等信息。你可以在此链接中找到更多关于这些字符的信息:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html 希望这能帮到你! ### 回答2: 在Android中,我们可以使用SimpleDateFormat类来指定字符串的时间格式化。 首先,我们需要创建一个SimpleDateFormat对象,并指定时间的格式。例如,如果我们想将时间格式化为"yyyy-MM-dd HH:mm:ss"的形式,我们可以使用以下代码: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 然后,我们可以使用SimpleDateFormat的format()方法来将时间格式化为指定的字符串格式。例如,如果我们有一个Date对象,我们可以使用以下代码将其格式化字符串: Date date = new Date(); String formattedDate = sdf.format(date); 如果我们有一个表示时间的字符串,我们也可以将其转换为指定格式的Date对象。使用SimpleDateFormat的parse()方法实现。例如,如果我们有一个字符串"2021-01-01 12:00:00",我们可以使用以下代码将其转换为Date对象: String dateString = "2021-01-01 12:00:00"; Date date = sdf.parse(dateString); 需要注意的是,在进行格式化或解析时,我们必须确保提供的字符串与指定的时间格式匹配,否则会抛出ParseException异常。因此,我们应该使用try-catch语句来处理可能的异常。 综上所述,我们可以使用SimpleDateFormat类来在Android中指定字符串的时间格式化。 ### 回答3: 在Android中,可以使用SimpleDateFormat类来指定字符串的时间格式化。 首先,我们需要创建一个SimpleDateFormat对象,指定我们想要的时间格式。例如,如果我们想要将一个时间戳格式化为"yyyy-MM-dd HH:mm:ss"的字符串,我们可以这样创建一个SimpleDateFormat对象: ``` SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ``` 然后,我们可以使用SimpleDateFormat对象的format方法将时间戳格式化字符串。例如,如果我们有一个时间戳为1589365200000(表示2020年5月14日13时00分00秒),我们可以这样格式化字符串: ``` String formattedTime = sdf.format(new Date(1589365200000)); ``` 最后,变量formattedTime将包含格式化后的时间字符串"2020-05-14 13:00:00"。 如果我们想要将一个字符串转换为时间对象,我们可以使用SimpleDateFormat类的parse方法。例如,如果我们有一个时间字符串"2020-05-14 13:00:00",我们可以这样将其转换为时间对象: ``` Date time = sdf.parse("2020-05-14 13:00:00"); ``` 现在,变量time将包含转换后的时间对象。 总结起来,使用Android的SimpleDateFormat类,我们可以方便地指定字符串的时间格式化和将字符串转换为时间对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值