From 61a4ae8b08652f24916218037beeef594bcde83b Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 15 十一月 2023 15:36:32 +0800
Subject: [PATCH] 读取卡片相关 读取卡片byte转bean相关
---
app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java | 51 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 43 insertions(+), 8 deletions(-)
diff --git a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
index f378897..2ddbd0d 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
@@ -1,6 +1,10 @@
package com.dayu.recharge.card;
import com.dayu.recharge.tools.HexUtil;
+import com.dayu.recharge.utils.MyCommon;
+import com.tencent.bugly.crashreport.CrashReport;
+
+import java.io.Serializable;
/**
* Copyright (C), 2023,
@@ -11,28 +15,59 @@
* 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝
* 鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤
*/
-public class ConfigurationPowerCard {
+public class ConfigurationPowerCard implements Serializable {
- public String cardType = "BD";//鍗$被鍨�
+ public String cardType = MyCommon.CONFIGURATION_POWER_CARD_TYPE;//鍗$被鍨�
public String cardData = "A0B1C289";//鏍囪瘑鐮�
public String power;//鍔熺巼
+ public String getPower() {
+ return power;
+ }
+
+ public void setPower(String power) {
+ this.power = power;
+ }
+
+
+ public static ConfigurationPowerCard toBean(byte[] data) {
+ try {
+ ConfigurationPowerCard powerCard = new ConfigurationPowerCard();
+ int intPower = HexUtil.get16to10(HexUtil.byteToHex(data[5]));
+ powerCard.setPower(String.valueOf(intPower));
+ return powerCard;
+ } catch (Exception e) {
+ e.printStackTrace();
+ CrashReport.postCatchedException(e);
+ return null;
+ }
+ }
+
+ public byte[] toByte() {
+ Zero zero = new Zero();
+ return zero.toByte();
+ }
+
public class Zero extends BaseCard {
- public void toByte() {
+ public byte[] toByte() {
byte[] data = new byte[16];
data[0] = HexUtil.hexToByte(cardType);
byte[] cardDatas = HexUtil.hexToByteArray(cardData);
for (int i = 0; i < 4; i++) {
data[i + 1] = cardDatas[i];
}
- float floatPower = Float.parseFloat(power);
- int intPower = (int) Math.ceil(floatPower); // 灏嗘诞鐐规暟鍚戜笂鍙栨暣骞惰浆鎹负鏁存暟
- String hexPower = HexUtil.get10to16(intPower);
- byte bytePower = HexUtil.hexToByte(hexPower);
- data[5] = bytePower;
+ if (power != null) {
+ float floatPower = Float.parseFloat(power);
+ int intPower = (int) Math.ceil(floatPower); // 灏嗘诞鐐规暟鍚戜笂鍙栨暣骞惰浆鎹负鏁存暟
+ String hexPower = HexUtil.get10to16(intPower);
+ byte bytePower = HexUtil.hexToByte(hexPower);
+ data[5] = bytePower;
+ }
+
data[15] = getByteSum(data);
+ return data;
}
}
--
Gitblit v1.8.0