strings中的文本替换
发表于|更新于|经验
|浏览量:
strings中的文本替换
实际开发的过程中我们有时候会遇到,一个TextView里面会遇到会有一个一大串固定的文字,而里面的数字或者个别字需要根据后台的接口而展示的。这个时候我们最简单的方法就是在string.xml文件里 使用 %s、%1$s、%d、%1$d,而在页面展示的时候我们只需要用实际展示的文字或者数据替换掉这些占位符就可以了。
%1$s表示把第一个位置的占位符替换成string类型
%1$d表示把第一个位置的占位符替换成int类型
数字表示替换字符串中第几个被替换的位置,若一个字符串要替换两个int类型,在替换位置分别写%1$d和%2$d.
%s 、%d为缩写方式,只替换一个位置,可以这么写。
文章作者: Fleming Chen
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fleming's Blog!
相关推荐
2020-02-08
APK反编译流程详解
APK反编译流程详解 反编译apk1java -jar /d/studies/Decompile/apktool_2.7.0.jar d source.apk -o output 将.dex转换为.jar 1/d/studies/Decompile/dex-tools-v2.4/d2j-dex2jar.sh classes.dex -o classes.jar 利用jd-gui查看classes.jar 1java -jar /d/studies/Decompile/jd-gui-1.6.6.jar classes.jar 利用jadx直接反编译apk 1/d/studies/Decompile/jadx-1.5.1/bin/jadx-gui your-app.apk 反编译后重新签名 修改后重新编译成未签名的apk1java -jar /d/studies/Decompile/apktool_2.7.0.jar b output -o target.apk --use-aapt2 –use-aapt2 参数指定使用AAPT2工具进行构建,这通常能更好地处理资源文件 ...
2022-02-08
core-ktx及appcompat是什么
core-ktx及appcompat是什么core-ktx是Android官方发布的一个Kotlin扩展库,主要提供了对Android原生API的Kotlin语言扩展和优化。 core-ktx的主要作用包括: 为Android原生API提供了惯用的Kotlin语法扩展,使代码更简洁。比如View.show()隐藏了findViewById。 提供了一些Kotlin特有的语言功能来优化Android API,如空安全、高阶函数等。 加入了一些Kotlin协程相关的扩展,可以更方便地使用协程。 提供了部分标准库函数的扩展,如集合相关的扩展函数。 简化了资源访问,避免重复代码。 支持了一些Kotlin版本更新带来的新特性。 向下兼容旧版本Android API。 总之,使用core-ktx可以写出更优雅简洁的Android代码,提高开发效率。它降低了从Java转换到Kotlin的学习成本,是一个非常值得引入的库。主流的Android项目基本上都会依赖该扩展库。 appcompat是AndroidX中的一个重要支持库,它主要提供了向后兼容旧版Android系统的功能。...
2022-02-08
Retrofit面试问题
Retrofit面试问题介绍下Retrofit框架,Retrofit为什么要包装okhttp呢? Retrofit 是一个类型安全的HTTP客户端,用于Android和Java应用。它允许你通过定义接口来描述HTTP请求,包括URL、请求方法(GET, POST等)、请求头以及请求体等内容。 Retrofit 包装了 OkHttp 主要是为了提供更高级别的抽象,简化网络请求的配置与执行。OkHttp 是一个高效的HTTP客户端,而 Retrofit 在其基础上提供了对REST API更加友好的支持,如动态代理、注解配置请求、数据转换等。 Retrofit主要实现机制?Retrofit的作用、原理 Retrofit 的核心是使用动态代理来创建接口的实现类,将HTTP请求的方法调用转化为实际的网络请求。它的作用是让开发者以一种声明式的方式来定义网络请求,并且可以很容易地进行扩展和修改。 底层是如何用 OkHttp 请求的? 在底层,Retrofit 使用 OkHttp 发送网络请求。当你构建了一个 Retrofit 实例时,你可以为其指定一个 OkHttpClient 对象,这样...
2023-02-08
蓝牙项目启动权限和蓝牙定位开关的问题
蓝牙项目启动权限和蓝牙定位开关的问题蓝牙项目启动,想要顺利地使用蓝牙扫描和连接,分两种情况 Android 6以上到Android 12以下需要动态申请定位权限ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION,两个都要申请 Android 12以上需要动态申请BLUETOOTH_SCAN和BLUETOOTH_CONNECT 完成上述权限申请后,还需要在6-12判断蓝牙和定位是否打开,12以上不需要打开定位也可以 申请动态权限,拒绝就提示进设置,同意就走下一步 判断蓝牙和定位开关是否打开
2017-08-13
如何创建和使用SQLite数据库
前言什么是SQLite?SQLite是一款轻型数据库,它遵守ACID,能够嵌入到使用它的应用程序中。作为一个自包含的、基于文件的数据库,SQLite提供了非常出色的工具集能够处理所有类型的数据,与托管在服务器上基于进程的关系型数据库相比它的约束更少,也更易用。 当应用程序使用SQLite时,SQLite并非作为一个独立进程通过某种通信协议(例如socket)与应用程序通信,而是作为应用程序的一部分,应用程序通过调用SQLite的接口直接访问数据文件。 为什么要用 SQLite? 不需要一个单独的服务器进程或操作的系统(无服务器的)。 SQLite 不需要配置,这意味着不需要安装或管理。 一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。 SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。 SQLite 是自给自足的,这意味着不需要任何外部的依赖。 SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。 SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。 SQLite 使...
2017-08-08
如何利用LruCache进行数据缓存
前言LruCache是什么?最初我也不知道去缓存请求到的数据,直接都是通过http请求,根据得到的返回数据展示到界面上,网络不好时要等待好久请求才能成功,或者干脆就失败了,这样给用户的体验是很不好的。之后在学习中,了解到了Android SDK中有处理缓存的LruCache,这个LruCache是在android.util包下的,是API level 12引入的,对于API level 12之前的系统可以使用support library v4中的LruCache。 LruCache是一个泛型类。 LRU是Least Recently Used的缩写,即“最近最少使用”,说明LRU缓存算法的淘汰策略是把最近最少使用的数据移除,让出内存给最新读取的数据。 它采用的是内存缓存数据,它内部采用一个LinkedHashMap以强引用的方式存储外界的缓存对象。 它是线程安全的。 其中提供了put、get、remove方法来完成缓存的添加、获取和移除操作。 每次添加的缓存对象会置顶,当缓存满时,LruCache会移除较早使用的缓存对象,然后再添加新的缓存对象。 通常我们需要用到的缓存策略...
公告
欢迎来到我的博客,有任何疑问可以随时联系我交流讨论!






