From f5180b600511d1871635bd364beb5bdd15f6ae88 Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期三, 26 三月 2025 18:05:07 +0800
Subject: [PATCH] feat(nfc): 优化 NFC写卡功能并添加新方法- 在 BaseNfcWriteHelper 中添加了新的 writeData 方法,增加了 isConnect 参数 - 优化了 NativeNfcWriteHelper 中的 writeData 实现,支持选择性连接 NFC - 更新了 NfcWriteAdapter,支持新的 writeData 方法- 修改了 NfcWreatHelper 中的 writeData 方法,使用新的接口 - 优化了 NfcWreatActivity 中的写卡逻辑
---
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
index a38497e..b814a8c 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
@@ -1,5 +1,6 @@
package com.dayu.qihealonelibrary.card;
+import com.dayu.baselibrary.bean.BaseUserCardCard;
import com.dayu.baselibrary.tools.HexUtil;
import com.dayu.qihealonelibrary.utils.CardCommon;
import com.tencent.bugly.crashreport.CrashReport;
@@ -14,7 +15,7 @@
* Date: 2023-11-07 9:37
* Description: 榻愭渤椤圭洰鐢ㄦ埛鍗$粨鏋�
*/
-public class UserCard implements Serializable {
+public class UserCard extends BaseUserCardCard implements Serializable {
public String cardType = CardCommon.USER_CARD_TYPE_1;//鍐欏崱鏍囧織 A1鍒峰崱寮�娉靛墠 A8鍒峰崱寮�娉靛悗 A2鍙犲姞鍏呭��
public int arerNumber;//鍖哄煙鍙�(搴曚綅鍦ㄥ墠楂樹綅鍦ㄥ悗)
@@ -38,7 +39,8 @@
*
* @param data
*/
- public static UserCard getBean(List<byte[]> data) {
+ @Override
+ public UserCard getBean(List<byte[]> data) {
try {
UserCard userCard = new UserCard();
//绗�0鍧楄В鏋�
@@ -175,9 +177,9 @@
int year = (rechargeDate.get(Calendar.YEAR)) % 1000;
int month = rechargeDate.get(Calendar.MONTH) + 1; // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1
int day = rechargeDate.get(Calendar.DAY_OF_MONTH);
- byte bcdYear = (byte) ((year / 10) << 4 | ((year % 10) / 100));
- byte bcdMonth = (byte) ((month / 10) << 4 | (month % 10));
- byte bcdDay = (byte) ((day / 10) << 4 | (day % 10));
+ byte bcdYear = HexUtil.getIntToBCD(year)[0];
+ byte bcdMonth = HexUtil.getIntToBCD(month)[0];
+ byte bcdDay = HexUtil.getIntToBCD(day)[0];
data[12] = bcdYear;
data[13] = bcdMonth;
data[14] = bcdDay;
@@ -221,9 +223,9 @@
int year = (rechargeDate.get(Calendar.YEAR)) % 1000;
int month = rechargeDate.get(Calendar.MONTH) + 1; // 鏈堜唤浠�0寮�濮嬶紝鎵�浠ラ渶瑕佸姞1
int day = rechargeDate.get(Calendar.DAY_OF_MONTH);
- byte bcdYear = (byte) ((year / 10) << 4 | ((year % 10) / 100));
- byte bcdMonth = (byte) ((month / 10) << 4 | (month % 10));
- byte bcdDay = (byte) ((day / 10) << 4 | (day % 10));
+ byte bcdYear = HexUtil.getIntToBCD(year)[0];
+ byte bcdMonth = HexUtil.getIntToBCD(month)[0];
+ byte bcdDay = HexUtil.getIntToBCD(day)[0];
data[12] = bcdYear;
data[13] = bcdMonth;
data[14] = bcdDay;
--
Gitblit v1.8.0