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/activity/ParameterActivity.java | 8 +
app/src/main/java/com/dayu/recharge/card/DomainCard.java | 41 ++++-
app/src/main/java/com/dayu/recharge/activity/SysActivity.java | 62 ++++++++
app/src/main/java/com/dayu/recharge/card/TestCard.java | 12 +
app/src/main/java/com/dayu/recharge/activity/PowerActivity.java | 12 +
app/src/main/res/layout/activity_admin.xml | 43 +++++
app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java | 33 +++-
app/src/main/java/com/dayu/recharge/activity/DomainActivity.java | 28 ++-
app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java | 142 +++++++++++++++++++
app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java | 20 +-
app/src/main/res/layout/activity_parameter.xml | 15 +
11 files changed, 362 insertions(+), 54 deletions(-)
diff --git a/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java b/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java
index 65387f8..c24ce79 100644
--- a/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/DomainActivity.java
@@ -25,19 +25,19 @@
super.onCreate(savedInstanceState);
binding = ActivityDomainBinding.inflate(LayoutInflater.from(this));
setContentView(binding.getRoot());
- domainBean = baseDao.domainPortDao().findFirst();
- if (domainBean != null) {
- binding.domainOldTV.setText(domainBean.getDomain() + ":" + domainBean.getPort());
- }else {
- domainBean=new DomainBean();
- }
+ initData();
binding.electricOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String domain = binding.domain.getText().toString();
String port = binding.port.getText().toString();
- int portInt = Integer.valueOf(port);
+ int portInt = 0;
+ if (TextUtils.isEmpty(port)) {
+ ToastUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�");
+ } else {
+ portInt = Integer.valueOf(port);
+ }
if (TextUtils.isEmpty(domain)) {
ToastUtil.show("璇疯緭鍏ュ煙鍚�");
return;
@@ -45,14 +45,24 @@
ToastUtil.show("璇疯緭鍏ユ纭殑绔彛鍙�");
return;
}
+
domainBean.setDomain(domain);
domainBean.setPort(portInt);
baseDao.domainPortDao().insert(domainBean);
-
-
+ ToastUtil.show("淇濆瓨鎴愬姛");
+ initData();
}
});
+ initData();
+ }
+ private void initData() {
+ domainBean = baseDao.domainPortDao().findFirst();
+ if (domainBean != null) {
+ binding.domainOldTV.setText(domainBean.getDomain() + ":" + domainBean.getPort());
+ } else {
+ domainBean = new DomainBean();
+ }
}
diff --git a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
index e765ae1..0fb7a61 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -11,8 +11,12 @@
import com.dayu.recharge.card.CleanCard;
import com.dayu.recharge.card.CleanUserCard;
+import com.dayu.recharge.card.ConfigurationPowerCard;
+import com.dayu.recharge.card.ConfigureDeviceRegistrationCrad;
+import com.dayu.recharge.card.DomainCard;
import com.dayu.recharge.card.ManageCard;
import com.dayu.recharge.card.RegisteredCard;
+import com.dayu.recharge.card.TestCard;
import com.dayu.recharge.card.UserCard;
import com.dayu.recharge.databinding.ActivityWriteTextBinding;
import com.dayu.recharge.dbBean.AdminDataBean;
@@ -65,12 +69,18 @@
boolean registeredFlag = false;
boolean administrativeCardFlag = false;
boolean cleanUserCardFlag = false;
- volatile UserCard userCard;
- ManageCard manageCard;
+ boolean domainCrdFlag = false;
+
+ boolean testCardFlag = false;
+
+ boolean configDeviceRegiestFlag = false;
+
+ boolean configPowerFlag = false;
+
UserCardBean userCardBean;
- CleanCard cleanCard;
+
String morny;
AdminDataBean adminData;
RechargeBean rechargeBean;
@@ -79,7 +89,15 @@
RegisteredCard registeredCard;
CleanUserCard cleanUserCard;
+ volatile UserCard userCard;
+ ManageCard manageCard;
+ DomainCard domainCard;
+ CleanCard cleanCard;
+ ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
+ TestCard testCard;
+
+ ConfigurationPowerCard configurationPowerCard;
//鎵撳嵃
MyApplication baseApp;
@@ -128,6 +146,19 @@
if (this.getIntent().hasExtra("cleanUserCard")) {
cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard");
}
+ if (this.getIntent().hasExtra("domainCard")) {
+ domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard");
+ }
+ if (this.getIntent().hasExtra("testCard")) {
+ testCard = (TestCard) this.getIntent().getSerializableExtra("testCard");
+ }
+ if (this.getIntent().hasExtra("configureDeviceRegistrationCrad")) {
+ configureDeviceRegistrationCrad = (ConfigureDeviceRegistrationCrad) this.getIntent().getSerializableExtra("configureDeviceRegistrationCrad");
+ }
+ if (this.getIntent().hasExtra("configurationPowerCard")) {
+ configurationPowerCard = (ConfigurationPowerCard) this.getIntent().getSerializableExtra("configurationPowerCard");
+ }
+
morny = this.getIntent().getStringExtra("morny");
try {
adminData = baseDao.adminDao().findFirst();
@@ -182,7 +213,11 @@
private void saveData() {
try {
startAnim();
- if (userCard != null || cleanCard != null || manageCard != null || registeredCard != null || cleanUserCard != null) {
+ if (userCard != null || cleanCard != null || manageCard != null
+ || registeredCard != null || cleanUserCard != null
+ || domainCard != null || testCard != null
+ || configureDeviceRegistrationCrad != null
+ || configurationPowerCard != null) {
if (userCard != null) {
setUser(intent, userCard);
}
@@ -198,8 +233,19 @@
if (cleanUserCard != null) {
setCleanUserCard(intent, cleanUserCard);
}
-
- if ((userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag)) {
+ if (domainCard != null) {
+ setDomainCard(intent, domainCard);
+ }
+ if (testCard != null) {
+ setTestCard(intent, testCard);
+ }
+ if (configureDeviceRegistrationCrad != null) {
+ setConfigDeviceRegiest(intent, configureDeviceRegistrationCrad);
+ }
+ if (configurationPowerCard != null) {
+ setConfigurationPower(intent, configurationPowerCard);
+ }
+ if ((configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag)) {
try {
if (userFlag && userCardBean != null) {
baseDao.userCardDao().insert(userCardBean);
@@ -456,12 +502,18 @@
userFlag = flag;
}
});
+ if (!userFlag) {
+ return;
+ }
NFCWriteHelper.getInstence(intent).writeData(userCard.getOneBytes(), 1, 1, new NFCWriteHelper.NFCCallback() {
@Override
public void isSusses(boolean flag) {
userFlag = flag;
}
});
+ if (!userFlag) {
+ return;
+ }
NFCWriteHelper.getInstence(intent).writeData(userCard.getTwoBytes(), 1, 2, new NFCWriteHelper.NFCCallback() {
@Override
public void isSusses(boolean flag) {
@@ -485,6 +537,12 @@
});
}
+ /**
+ * 鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�
+ *
+ * @param intent
+ * @param cleanUserCard
+ */
private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) {
NFCWriteHelper.getInstence(intent).writeData(cleanUserCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
@Override
@@ -495,6 +553,78 @@
}
/**
+ * 璁剧疆鍩熷悕鍗�
+ *
+ * @param intent
+ * @param domainCard
+ */
+ private void setDomainCard(Intent intent, DomainCard domainCard) {
+ try {
+ NFCWriteHelper.getInstence(intent).writeData(domainCard.getZeroByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
+ @Override
+ public void isSusses(boolean flag) {
+ domainCrdFlag = flag;
+ }
+ });
+ if (!domainCrdFlag) {
+ return;
+ }
+ NFCWriteHelper.getInstence(intent).writeData(domainCard.getOneByte(), 1, 1, new NFCWriteHelper.NFCCallback() {
+ @Override
+ public void isSusses(boolean flag) {
+ domainCrdFlag = flag;
+ }
+ });
+ if (!domainCrdFlag) {
+ return;
+ }
+ NFCWriteHelper.getInstence(intent).writeData(domainCard.getTwoByte(), 1, 2, new NFCWriteHelper.NFCCallback() {
+ @Override
+ public void isSusses(boolean flag) {
+ domainCrdFlag = flag;
+ }
+ });
+ } catch (Exception e) {
+ domainCrdFlag = false;
+ throw new RuntimeException(e);
+ }
+ }
+
+ private void setTestCard(Intent intent, TestCard testCard) {
+ NFCWriteHelper.getInstence(intent).writeData(testCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
+ @Override
+ public void isSusses(boolean flag) {
+ testCardFlag = flag;
+ }
+ });
+ }
+
+
+ private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) {
+ NFCWriteHelper.getInstence(intent).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
+ @Override
+ public void isSusses(boolean flag) {
+ configDeviceRegiestFlag = flag;
+ }
+ });
+ }
+
+ private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) {
+ try {
+ NFCWriteHelper.getInstence(intent).writeData(configurationPowerCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
+ @Override
+ public void isSusses(boolean flag) {
+ configPowerFlag = flag;
+ }
+ });
+ } catch (Exception e) {
+ configPowerFlag = false;
+ throw new RuntimeException(e);
+ }
+ }
+
+
+ /**
* @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿
*/
private void selectBalance(String initPeasantCode) {
diff --git a/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java b/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java
index 9b80d1f..8a6dc7f 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ParameterActivity.java
@@ -33,5 +33,13 @@
startActivity(intent);
}
});
+
+ binding.parameterPower.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(ParameterActivity.this, PowerActivity.class);
+ startActivity(intent);
+ }
+ });
}
}
diff --git a/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java b/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java
index 6eec124..cc2fe65 100644
--- a/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/PowerActivity.java
@@ -17,14 +17,23 @@
*/
public class PowerActivity extends BaseActivity {
ActivityPowerBinding powerBinding;
+ PowerBean powerBean = new PowerBean();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
powerBinding = ActivityPowerBinding.inflate(LayoutInflater.from(this));
setContentView(powerBinding.getRoot());
-
+ initData();
initView();
+ }
+
+ private void initData() {
+ PowerBean powerBean = baseDao.powerDao().findFirst();
+ if (powerBean != null) {
+ this.powerBean = powerBean;
+ powerBinding.villageOldNumber.setText(powerBean.getPower());
+ }
}
private void initView() {
@@ -33,7 +42,6 @@
public void onClick(View v) {
String data = powerBinding.villageNewNum.getText().toString();
if (!TextUtils.isEmpty(data)) {
- PowerBean powerBean = new PowerBean();
powerBean.setPower(data);
baseDao.powerDao().insert(powerBean);
ToastUtil.show("淇濆瓨鎴愬姛");
diff --git a/app/src/main/java/com/dayu/recharge/activity/SysActivity.java b/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
index a8b6967..74853bd 100644
--- a/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
@@ -7,10 +7,16 @@
import com.dayu.recharge.card.CleanCard;
import com.dayu.recharge.card.CleanUserCard;
+import com.dayu.recharge.card.ConfigurationPowerCard;
+import com.dayu.recharge.card.ConfigureDeviceRegistrationCrad;
import com.dayu.recharge.card.DomainCard;
import com.dayu.recharge.card.ManageCard;
import com.dayu.recharge.card.RegisteredCard;
+import com.dayu.recharge.card.TestCard;
import com.dayu.recharge.databinding.ActivityAdminBinding;
+import com.dayu.recharge.dbBean.DomainBean;
+import com.dayu.recharge.dbBean.PowerBean;
+import com.dayu.recharge.utils.ToastUtil;
/**
* Copyright (C), 2023,
@@ -31,12 +37,14 @@
initView();
}
+
private void initView() {
- Intent intent = new Intent(this, NFCWreatActivity.class);
+
adminBinding.adminAdmin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
ManageCard manageCard = new ManageCard();
intent.putExtra("manageCard", manageCard);
startActivity(intent);
@@ -46,6 +54,7 @@
adminBinding.adminCleanZero.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
CleanCard cleanCard = new CleanCard();
intent.putExtra("cleanCard", cleanCard);
startActivity(intent);
@@ -54,6 +63,7 @@
adminBinding.adminRegistered.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
RegisteredCard registeredCard = new RegisteredCard();
intent.putExtra("registeredCard", registeredCard);
startActivity(intent);
@@ -63,6 +73,7 @@
adminBinding.adminCleanUser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
CleanUserCard cleanUserCard = new CleanUserCard();
intent.putExtra("cleanUserCard", cleanUserCard);
startActivity(intent);
@@ -72,11 +83,56 @@
adminBinding.adminDomain.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- DomainCard domainCard = new DomainCard();
- intent.putExtra("domainCard", domainCard);
+ Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+ DomainBean domainBean = baseDao.domainPortDao().findFirst();
+ if (domainBean != null) {
+ DomainCard domainCard = new DomainCard();
+ domainCard.setDomainName(domainBean.getDomain());
+ domainCard.setPort(domainBean.getPort());
+ intent.putExtra("domainCard", domainCard);
+ startActivity(intent);
+ } else {
+ ToastUtil.show("璇峰厛璁剧疆鍩熷悕");
+ }
+
+ }
+ });
+ adminBinding.adminTest.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+ TestCard testCard = new TestCard();
+ intent.putExtra("testCard", testCard);
startActivity(intent);
}
});
+ adminBinding.adminConfigDeviceRegistration.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+ ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad = new ConfigureDeviceRegistrationCrad();
+ intent.putExtra("configureDeviceRegistrationCrad", configureDeviceRegistrationCrad);
+ startActivity(intent);
+ }
+ });
+
+ adminBinding.adminConfigPower.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ PowerBean powerBean = baseDao.powerDao().findFirst();
+ if (powerBean != null) {
+ Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+ ConfigurationPowerCard configurationPowerCard = new ConfigurationPowerCard();
+ configurationPowerCard.setPower(powerBean.getPower());
+ intent.putExtra("configurationPowerCard", configurationPowerCard);
+ startActivity(intent);
+ } else {
+ ToastUtil.show("璇峰厛璁剧疆姘存车鍔熺巼");
+ }
+
+ }
+ });
+
}
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..0275c80 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
@@ -2,6 +2,8 @@
import com.dayu.recharge.tools.HexUtil;
+import java.io.Serializable;
+
/**
* Copyright (C), 2023,
* Author: zuo
@@ -11,7 +13,7 @@
* 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝
* 鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤
*/
-public class ConfigurationPowerCard {
+public class ConfigurationPowerCard implements Serializable {
public String cardType = "BD";//鍗$被鍨�
@@ -19,20 +21,37 @@
public String power;//鍔熺巼
+ public String getPower() {
+ return power;
+ }
+
+ public void setPower(String power) {
+ this.power = power;
+ }
+
+ 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;
}
}
diff --git a/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java b/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
index f4ed3c1..42480f3 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
@@ -2,35 +2,37 @@
import com.dayu.recharge.tools.HexUtil;
+import java.io.Serializable;
+
/**
* Created by Android Studio.
* author: zuo
* Date: 2023-11-13
* Time: 18:11
* 澶囨敞锛氶厤缃澶囨敞鍐屼俊鎭崱
- *
+ * <p>
* 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤
*/
-public class ConfigureDeviceRegistrationCrad {
+public class ConfigureDeviceRegistrationCrad implements Serializable {
public String cardType = "BC";//鍗$被鍨�
public String cardData = "A0B1C289";//鏍囪瘑鐮�
- public String power;//鍔熺巼
+ 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;
+
data[15] = getByteSum(data);
+ return data;
}
}
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);
diff --git a/app/src/main/java/com/dayu/recharge/card/TestCard.java b/app/src/main/java/com/dayu/recharge/card/TestCard.java
index b7526c2..cf17f85 100644
--- a/app/src/main/java/com/dayu/recharge/card/TestCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/TestCard.java
@@ -2,18 +2,25 @@
import com.dayu.recharge.tools.HexUtil;
+import java.io.Serializable;
+
/**
* Copyright (C), 2023,
* Author: zuo
* Date: 2023-11-08 13:23
* Description: 娴嬭瘯鍗�
*/
-public class TestCard {
+public class TestCard implements Serializable {
public String cardType = "A4";//鍗$被鍨�
public String cardData = "A0B1C289";//鏍囪瘑鐮�
+ 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);
@@ -21,6 +28,7 @@
data[i + 1] = cardDatas[i];
}
data[15] = getByteSum(data);
+ return data;
}
}
diff --git a/app/src/main/res/layout/activity_admin.xml b/app/src/main/res/layout/activity_admin.xml
index 67af893..726d4b4 100644
--- a/app/src/main/res/layout/activity_admin.xml
+++ b/app/src/main/res/layout/activity_admin.xml
@@ -27,7 +27,8 @@
android:id="@+id/admin_admin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔绠$悊鍗�"
android:textSize="@dimen/text_size" />
@@ -36,7 +37,8 @@
android:id="@+id/admin_cleanZero"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔娓呴浂鍗�"
android:textSize="@dimen/text_size" />
@@ -45,7 +47,8 @@
android:id="@+id/admin_registered"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔閲嶆柊娉ㄥ唽璁惧鍗�"
android:textSize="@dimen/text_size" />
@@ -54,7 +57,8 @@
android:id="@+id/admin_CleanUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�"
android:textSize="@dimen/text_size" />
@@ -63,15 +67,42 @@
android:id="@+id/admin_domain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍒朵綔璁剧疆鍩熷悕鍗�"
android:textSize="@dimen/text_size" />
+ <TextView
+ android:id="@+id/admin_test"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
+ android:padding="5dp"
+ android:text="鍒朵綔娴嬭瘯鍗�"
+ android:textSize="@dimen/text_size" />
+ <TextView
+ android:id="@+id/admin_configDeviceRegistration"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
+ android:padding="5dp"
+ android:text="鍒朵綔閰嶇疆璁惧淇℃伅鍗�"
+ android:textSize="@dimen/text_size" />
-
+ <TextView
+ android:id="@+id/admin_configPower"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
+ android:padding="5dp"
+ android:text="鍒朵綔閰嶇疆姘存车鍔熺巼鍗�"
+ android:textSize="@dimen/text_size" />
</LinearLayout>
diff --git a/app/src/main/res/layout/activity_parameter.xml b/app/src/main/res/layout/activity_parameter.xml
index 621e0f1..98f4d71 100644
--- a/app/src/main/res/layout/activity_parameter.xml
+++ b/app/src/main/res/layout/activity_parameter.xml
@@ -17,18 +17,29 @@
android:id="@+id/parameter_domain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鍩熷悕鍗¤缃�"
android:textSize="@dimen/text_size" />
+ <TextView
+ android:id="@+id/parameter_power"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
+ android:padding="5dp"
+ android:text="姘存车鍔熺巼鍗¤缃�"
+ android:textSize="@dimen/text_size" />
<TextView
android:id="@+id/parameter_electricPrice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_margin="20dp"
+ android:layout_marginLeft="20dp"
+ android:layout_marginTop="20dp"
android:padding="5dp"
android:text="鐢甸噺鍗曚环"
android:textSize="@dimen/text_size"
--
Gitblit v1.8.0