From 22a6b851897ef5ef25f64b740159e7106cfd6433 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 14 十一月 2023 17:21:17 +0800 Subject: [PATCH] 配置水泵功率卡 配置设备注册信息卡 测试卡 设置域名卡 删除全部用户卡 重新注册设备卡 等相关制作卡片代码 --- app/src/main/java/com/dayu/recharge/card/DomainCard.java | 41 +++++++++++++++++++++++++++++++++-------- 1 files changed, 33 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/card/DomainCard.java b/app/src/main/java/com/dayu/recharge/card/DomainCard.java index 55d8718..bef709d 100644 --- a/app/src/main/java/com/dayu/recharge/card/DomainCard.java +++ b/app/src/main/java/com/dayu/recharge/card/DomainCard.java @@ -23,7 +23,24 @@ //绔彛鍙蜂负5涓瓧鑺傦紝涓嶈冻5浣嶉珮浣嶈ˉ0銆傜鍙e彿涓庡煙鍚嶄箣闂寸敤鈥�,鈥濋殧寮�銆傜鍙e彿鏈�鍚庝互鈥�#鈥濈粨鏉� public String domainName;//鍩熷悕 - public String port;//绔彛 + public int port;//绔彛 + + public String getDomainName() { + return domainName; + } + + public void setDomainName(String domainName) { + this.domainName = domainName; + } + + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } private byte[] asciiByte;//褰撳墠鍩熷悕鍜岀鍙e彿鏁扮粍 @@ -50,10 +67,18 @@ public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); - byte[] domainNumbers = BcdUtil.strToBcd(domainNumber); - data[1] = domainNumbers[0]; + if (domainNumber != null) { + byte[] domainNumbers = BcdUtil.strToBcd(domainNumber); + data[1] = domainNumbers[0]; + } + domainLength = domainName.length(); data[2] = HexUtil.hexToByte(HexUtil.get10to16(domainLength)); - String ascii = IDN.toASCII(domainName + "," + port + "#"); + String portStr = String.valueOf(port); + int lenght = portStr.length(); + for (int i = 0; i < 5 - lenght; i++) { + portStr = "0" + portStr; + } + String ascii = IDN.toASCII(domainName + "," + portStr + "#"); asciiByte = ascii.getBytes(); if (asciiByte.length < 12) { System.arraycopy(asciiByte, 0, data, 3, asciiByte.length); @@ -75,9 +100,9 @@ byte[] data = new byte[16]; if (asciiByte.length > 12) { if (asciiByte.length - 12 < 15) { - System.arraycopy(asciiByte, 12, data, 3, asciiByte.length - 12); + System.arraycopy(asciiByte, 12, data, 0, asciiByte.length - 12); } else { - System.arraycopy(asciiByte, 12, data, 3, 15); + System.arraycopy(asciiByte, 12, data, 0, 15); } } data[15] = getByteSum(data); @@ -95,9 +120,9 @@ byte[] data = new byte[16]; if (asciiByte.length > (12 + 15)) { if (asciiByte.length - (12 + 15) < 15) { - System.arraycopy(asciiByte, 12, data, 3, asciiByte.length - (12 + 15)); + System.arraycopy(asciiByte, 12, data, 0, asciiByte.length - (12 + 15)); } else { - System.arraycopy(asciiByte, 12, data, 3, 15); + System.arraycopy(asciiByte, 12, data, 0, 15); } } data[15] = getByteSum(data); -- Gitblit v1.8.0