android中xliff的使用

今天看了一个google的demo,发现部分资源字符串在/res/values/string.xml中包含有类似xliff的节点,刚才查了一下,Xliff是XML Localization Interchange File Format 的缩写,中文名为XML本地化数据交换格式。

对于在Android的资源字符串中,可能会有类似下面的 <xliff:g id="FILE_NAME">%1$s</xliff:g> 写法,这里,id我们可以随便定义,后面的%1$s的1%表示这是第一个可替换量,s表示字符串

详细的介绍如下:

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

例如一个String中有多个需要替换的变量,可以在xml中定义如下变量: 

[html]  view plain  copy
  1. <string name="info">  
  2.   your name is <xliff:g id="NAME">%1$s</xliff:g>, and your age is  
  3.   <xliff:g id="AGE">%2$s</xliff:g>  
  4. lt;/string>  

 

程序中动态加载:

[html]  view plain  copy
  1. TextView tv = (TextView) findViewById(R.id.textView);  
  2. String info = getResources().getString(R.string.info,"jnhoodlum","22");  
  3. tv.setText(info);  

最后要注意一点:在String里要增加XLIFF的 xmlns:

[html]  view plain  copy
  1. <span style="font-size:18px;"><resources xmlns:android="http://schemas.android.com/apk/res/android"  
  2. xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">  
  3. </span>  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过模拟NFC标签来模拟门禁卡。以下是一些步骤: 1. 在 Android Studio 创建一个新项目。 2. 在项目添加一个用于模拟NFC标签的Activity。 3. 在Activity添加以下代码来模拟NFC标签的UID和数据: ``` private static final byte[] UID = new byte[]{0x01, 0x02, 0x03, 0x04}; private static final byte[] DATA = "Hello, World!".getBytes(); ``` 4. 在Activity添加以下代码来模拟NFC标签的读取: ``` @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); if (Arrays.equals(tag.getId(), UID)) { String data = new String(tag.getNdef().getRecords()[0].getPayload()); Toast.makeText(this, data, Toast.LENGTH_LONG).show(); } else { Toast.makeText(this, "Unknown tag", Toast.LENGTH_LONG).show(); } } } ``` 5. 在AndroidManifest.xml文件添加以下代码来声明Activity和NFC权限: ``` <activity android:name=".NfcActivity"> <intent-filter> <action android:name="android.nfc.action.TECH_DISCOVERED"/> </intent-filter> <meta-data android:name="android.nfc.action.TECH_DISCOVERED" android:resource="@xml/nfc_tech_filter"/> </activity> <uses-permission android:name="android.permission.NFC"/> ``` 6. 在res/xml文件夹创建一个nfc_tech_filter.xml文件,并添加以下代码: ``` <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <tech-list> <tech>android.nfc.tech.Ndef</tech> </tech-list> </resources> ``` 这样,您就可以在模拟器或真实设备上模拟NFC标签,从而模拟门禁卡的功能了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值