android 的xliff介绍

 

<xliff:g>标签介绍:

<string name="appwidget_text_format"><xliff:g id="prefix">%1$s</xliff:g>: <xliff:g id="time">%2$s</xliff:g></string>

这个主要用于程序中,动态的插入内容时候使用,例如,
<string name="time">当前时间:<xliff:g id="prefix">%1$s</xliff:g>时 <xliff:g id="time">%2$s</xliff:g>分</string>
然后通过程序,context.getString(R.string.time,"10","05");
将会输出——当前时间:10时05分


属性id可以随便命名
属性example表示举例说明,可以省略
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00

 

<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

<string name="battery_history_minutes">"<xliff:g id="MINUTES">%1$d</xliff:g> 分 <xliff:g id="SECONDS">%2$d</xliff:g> 秒"</string>

<string name="battery_history_seconds">"<xliff:g id="SECONDS">%1$d</xliff:g> 秒"</string>

<string name="info"><xliff:g id="name">%1$s</xliff:g> <xliff:g id="height">%2$2.2f</xliff:g> cm <xliff:g id="age">%3$d</xliff:g>old</string>

</resources>

 

textview.setText(String.format(getString(R.string.info)), "Eirc", 170.2, 26);

print------>eric 170.2 cm 26 old

### Android 设备上的磁卡读取与检测 对于在Android设备上实现磁卡检测功能,这通常涉及到近场通信(NFC)技术的应用。由于大多数磁条卡并不支持NFC标准,因此这里假设目标卡片为带有嵌入式芯片并遵循ISO/IEC 14443或MIFARE等协议的接触less智能卡。 为了使应用程序能够响应特定类型的NFC标签,在清单文件`AndroidManifest.xml`中需配置相应的Intent Filter来捕获这些事件[^1]: ```xml <activity android:name=".CardReadActivity"> <intent-filter> <action android:name="android.nfc.action.TECH_DISCOVERED"/> </intent-filter> <meta-data android:name="android.nfc.tech_filter" android:resource="@xml/nfc_tech_list" /> </activity> ``` 接着创建一个名为`nfc_tech_list.xml`资源文件用于指定应用可以处理的技术列表: ```xml <?xml version="1.0" encoding="utf-8"?> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <tech-list> <!-- 支持 ISO14443A/B 和 Mifare Classic/UltraLight --> <tech>android.nfc.tech.IsoDep</tech> <tech>android.nfc.tech.MifareClassic</tech> <tech>android.nfc.tech.NdefFormatable</tech> </tech-list> </resources> ``` 当接收到匹配的NFC意图时,可以在对应的Activity中通过以下方式获取Tag对象进而执行进一步的操作: ```java @Override protected void onNewIntent(Intent intent){ super.onNewIntent(intent); Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); // 对tagFromIntent 进行具体业务逻辑处理... } ``` 需要注意的是,并不是所有的Android手机都配备了必要的硬件以支持上述特性;另外某些银行或其他机构发行的信用卡可能采用专有的加密算法保护数据安全,这类情况下开发者无法轻易访问原始信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值