From 88c82455871cd03e0a0b6f32591f9bee74a2dc34 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 05 三月 2024 14:52:22 +0800
Subject: [PATCH] 1.修改卡标识的bug 2.优化卡结构的代码

---
 app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java         |   64 ++----
 app/src/main/java/com/dayu/recharge/card/BaseCard.java                        |   21 ++
 app/src/main/java/com/dayu/recharge/card/RegisteredCard.java                  |   13 
 app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java            |   39 ++--
 app/src/main/java/com/dayu/recharge/card/PassWordCard.java                    |   21 +
 app/src/main/res/layout/activity_identyfying.xml                              |    5 
 app/src/main/java/com/dayu/recharge/card/CleanCard.java                       |   14 
 app/src/main/java/com/dayu/recharge/card/CleanUserCard.java                   |   13 
 app/src/main/java/com/dayu/recharge/activity/SysActivity.java                 |  137 ++++++--------
 app/src/main/java/com/dayu/recharge/card/TestCard.java                        |   13 
 app/src/main/java/com/dayu/recharge/card/ManageCard.java                      |   15 
 app/src/main/java/com/dayu/recharge/card/UserCard.java                        |   82 ++------
 app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java          |   13 
 app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java |   13 
 app/src/main/java/com/dayu/recharge/utils/MyCommon.java                       |   27 +++
 app/build.gradle                                                              |    3 
 16 files changed, 237 insertions(+), 256 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 390c27d..ca782cd 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -76,7 +76,8 @@
     //鍦板潃閫夋嫨
     implementation project(':pickerviewlibrary')
     implementation project(':easysocket')
-    implementation 'com.tencent.bugly:crashreport:latest.release'
+
+    implementation 'com.tencent.bugly:crashreport:4.1.9.3'
 //    澶勭悊鍥剧墖
 //    implementation (name: 'ocr-library', ext: 'aar')
     //鏉冮檺鐢宠
diff --git a/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java b/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
index 520ed07..0ed8d25 100644
--- a/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/IdentifyingActivity.java
@@ -3,17 +3,9 @@
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
-import android.view.View;
 
-import com.dayu.recharge.card.CleanCard;
-import com.dayu.recharge.card.ConfigurationPowerCard;
-import com.dayu.recharge.card.ConfigureDeviceRegistrationCrad;
-import com.dayu.recharge.card.ManageCard;
-import com.dayu.recharge.card.RegisteredCard;
-import com.dayu.recharge.card.TestCard;
 import com.dayu.recharge.databinding.ActivityIdentyfyingBinding;
 import com.dayu.recharge.dbBean.CardData;
-import com.dayu.recharge.dbBean.IdentityBean;
 import com.dayu.recharge.utils.MyCommon;
 import com.dayu.recharge.utils.TipUtil;
 import com.dayu.recharge.view.ChooseView;
@@ -45,31 +37,20 @@
         super.onCreate(savedInstanceState);
         binding = ActivityIdentyfyingBinding.inflate(LayoutInflater.from(this));
         setContentView(binding.getRoot());
-        binding.chooseCardType.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                ChooseView.getIntence(IdentifyingActivity.this, Arrays.asList(nianfen.clone()), new ChooseView.ChooseCallBack() {
-                    @Override
-                    public void onOptionsSelect(int options1) {
-                        chooseData(nianfen[options1]);
-                        binding.chooseCardTypeText.setText(nianfen[options1]);
-                    }
-                }).show();
+        binding.chooseCardType.setOnClickListener(v ->
+                ChooseView.getIntence(IdentifyingActivity.this, Arrays.asList(nianfen.clone()), options1 -> {
+                    chooseData(nianfen[options1]);
+                    binding.chooseCardTypeText.setText(nianfen[options1]);
+                }).show());
+
+        binding.electricOk.setOnClickListener(v -> {
+            if (TextUtils.isEmpty(cardType)) {
+                TipUtil.show("璇烽�夋嫨鍗$被鍨�");
+                return;
             }
-        });
-
-
-        IdentityBean identityBean = baseDao.identityDao().findFirst();
-
-        binding.electricOk.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (TextUtils.isEmpty(cardType)) {
-                    TipUtil.show("璇烽�夋嫨鍗$被鍨�");
-                    return;
-                }
-                String data = binding.electricOldNumber.getText().toString();
-                if (!TextUtils.isEmpty(data)) {
+            String data = binding.electricNewNum.getText().toString();
+            if (!TextUtils.isEmpty(data)) {
+                if (data.length() % 2 == 0) {
                     if (cardData == null) {
                         cardData = new CardData();
                         cardData.setCardType(cardType);
@@ -78,8 +59,11 @@
                     baseDao.cardDataDao().insert(cardData);
                     TipUtil.show("淇濆瓨鎴愬姛");
                 } else {
-                    TipUtil.show("璇疯緭鍏ュ崱鏍囪瘑");
+                    TipUtil.show("璇疯緭鍏ユ纭殑16杩涘埗瀛楃涓�");
                 }
+
+            } else {
+                TipUtil.show("璇疯緭鍏ュ崱鏍囪瘑");
             }
         });
     }
@@ -94,7 +78,7 @@
                 if (cardData != null) {
                     setData(cardData);
                 } else {
-                    binding.electricOldNumber.setText(new ManageCard().getCardData());
+                    binding.electricOldNumber.setText(MyCommon.getDefaultCardData(cardType));
                 }
                 break;
             case "娓呴浂鍗�":
@@ -103,7 +87,7 @@
                 if (cardData != null) {
                     setData(cardData);
                 } else {
-                    binding.electricOldNumber.setText(new CleanCard().getCardData());
+                    binding.electricOldNumber.setText(MyCommon.getDefaultCardData(cardType));
                 }
                 break;
             case "閲嶆柊娉ㄥ唽璁惧鍗�":
@@ -112,7 +96,7 @@
                 if (cardData != null) {
                     setData(cardData);
                 } else {
-                    binding.electricOldNumber.setText(new RegisteredCard().getCardData());
+                    binding.electricOldNumber.setText(MyCommon.getDefaultCardData(cardType));
                 }
                 break;
             case "鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�":
@@ -121,7 +105,7 @@
                 if (cardData != null) {
                     setData(cardData);
                 } else {
-                    binding.electricOldNumber.setText(new RegisteredCard().getCardData());
+                    binding.electricOldNumber.setText(MyCommon.getDefaultCardData(cardType));
                 }
                 break;
             case "娴嬭瘯鍗�":
@@ -130,7 +114,7 @@
                 if (cardData != null) {
                     setData(cardData);
                 } else {
-                    binding.electricOldNumber.setText(new TestCard().getCardData());
+                    binding.electricOldNumber.setText(MyCommon.getDefaultCardData(cardType));
                 }
                 break;
             case "璁惧淇℃伅鍗�":
@@ -139,7 +123,7 @@
                 if (cardData != null) {
                     setData(cardData);
                 } else {
-                    binding.electricOldNumber.setText(new ConfigureDeviceRegistrationCrad().getCardData());
+                    binding.electricOldNumber.setText(MyCommon.getDefaultCardData(cardType));
                 }
                 break;
             case "姘存车鍔熺巼鍗�":
@@ -148,7 +132,7 @@
                 if (cardData != null) {
                     setData(cardData);
                 } else {
-                    binding.electricOldNumber.setText(new ConfigurationPowerCard().getCardData());
+                    binding.electricOldNumber.setText(MyCommon.getDefaultCardData(cardType));
                 }
                 break;
         }
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 7c5a5f4..9ffd1aa 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.activity;
 
+import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.os.Bundle;
 import android.text.TextUtils;
@@ -70,7 +71,6 @@
     boolean configPowerFlag = false;
 
     UserCardBean userCardBean;
-    UserCard olduserCard;
 
     String morny;
     String userName;
@@ -120,6 +120,7 @@
     }
 
 
+    @SuppressLint("SetTextI18n")
     private void getData() {
         try {
             if (this.getIntent().hasExtra("userCard")) {
@@ -168,7 +169,7 @@
                 userName = this.getIntent().getStringExtra("userName");
                 binding.cardData.setText("鍏呭�奸噾棰濓細" + morny + "鍏�");
                 // 鍏呭�奸�昏緫
-                recharge(userCard.getInitPeasantCode(), userName, "鍚敤");
+                recharge(userCard.getInitPeasantCode(), userName);
             }
 
             try {
@@ -249,9 +250,9 @@
                             //鐢ㄦ埛鍗�
                             startDetailActivity(userCardBean.getUserName(), "鍚敤");
                         } else if (!TextUtils.isEmpty(morny)) {
-                            TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", () -> NFCWreatActivity.this.finish());
+                            TipUtil.show(NFCWreatActivity.this, "鍏呭�兼垚鍔�", NFCWreatActivity.this::finish);
                         } else {
-                            TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", () -> NFCWreatActivity.this.finish());
+                            TipUtil.show(NFCWreatActivity.this, "鍐欏崱鎴愬姛", NFCWreatActivity.this::finish);
                         }
 
                     } catch (Exception e) {
@@ -311,13 +312,13 @@
             StringBuffer data = new StringBuffer();
             if (rechargeBean != null) {
                 data.append("*****************************" + "\n");
-                data.append(getResources().getString(R.string.login_title) + "\n");
-                data.append("璁惧搴忓垪鍙凤細" + rechargeBean.getSerial() + "\n");
-                data.append("鐢ㄦ埛鍚嶏細" + rechargeBean.getUserName() + "\n");
+                data.append(getResources().getString(R.string.login_title)).append("\n");
+                data.append("璁惧搴忓垪鍙凤細").append(rechargeBean.getSerial()).append("\n");
+                data.append("鐢ㄦ埛鍚嶏細").append(rechargeBean.getUserName()).append("\n");
                 //            data.append("鎴�  鍙凤細" + rechargeBean.getUserNum() + "\n");
-                data.append("鍏呭�奸噾棰濓細" + rechargeBean.getMorny() + "鍏�" + "\n");
-                data.append("鍗″唴浣欓锛�" + rechargeBean.getBalance() + "鍏�" + "\n");
-                data.append("鏃�  鏈燂細" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n");
+                data.append("鍏呭�奸噾棰濓細").append(rechargeBean.getMorny()).append("鍏�").append("\n");
+                data.append("鍗″唴浣欓锛�").append(rechargeBean.getBalance()).append("鍏�").append("\n");
+                data.append("鏃�  鏈燂細").append(DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2)).append("\n\n");
                 data.append("*****************************");
             }
 
@@ -344,7 +345,7 @@
 
 
     //鍏呭�间笂浼狅紙Socket锛�
-    private void recharge(String initPeasantCode, String name, String statu) {
+    private void recharge(String initPeasantCode, String name) {
         try {
             RechargeRequestBean rechargeRequestBean = new RechargeRequestBean();
             rechargeRequestBean.setControl("01");
@@ -445,13 +446,11 @@
             } else {
                 TipUtil.show(NFCWreatActivity.this, "璇诲彇鐨勫崱鍜屽厖鍊肩殑鍗′笉涓�鑷�");
             }
-        } else {
-
         }
     }
 
     private void setmanageCard(Intent intent, final ManageCard manageCard) {
-        manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toZeroByte(), 1, 0);
+        manageCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toZeroByte(baseDao), 1, 0);
     }
 
     /**
@@ -461,7 +460,7 @@
      * @param clearOrInitCard
      */
     private void setClean(Intent intent, final CleanCard clearOrInitCard) {
-        cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(), 1, 0);
+        cleanFlag = NFCWriteHelper.getInstence(intent, this).writeData(clearOrInitCard.toByte(baseDao), 1, 0);
     }
 
 
@@ -472,7 +471,7 @@
      * @param registeredCard
      */
     private void setRegisteredCard(Intent intent, RegisteredCard registeredCard) {
-        registeredFlag = NFCWriteHelper.getInstence(intent, this).writeData(registeredCard.toByte(), 1, 0);
+        registeredFlag = NFCWriteHelper.getInstence(intent, this).writeData(registeredCard.toByte(baseDao), 1, 0);
     }
 
     /**
@@ -482,7 +481,7 @@
      * @param cleanUserCard
      */
     private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) {
-        cleanUserCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(cleanUserCard.toByte(), 1, 0);
+        cleanUserCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(cleanUserCard.toByte(baseDao), 1, 0);
     }
 
     /**
@@ -509,17 +508,17 @@
     }
 
     private void setTestCard(Intent intent, TestCard testCard) {
-        testCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(testCard.toByte(), 1, 0);
+        testCardFlag = NFCWriteHelper.getInstence(intent, this).writeData(testCard.toByte(baseDao), 1, 0);
     }
 
 
     private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) {
-        configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent, this).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0);
+        configDeviceRegiestFlag = NFCWriteHelper.getInstence(intent, this).writeData(configureDeviceRegistrationCrad.toByte(baseDao), 1, 0);
     }
 
     private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) {
         try {
-            configPowerFlag = NFCWriteHelper.getInstence(intent, this).writeData(configurationPowerCard.toByte(), 1, 0);
+            configPowerFlag = NFCWriteHelper.getInstence(intent, this).writeData(configurationPowerCard.toByte(baseDao), 1, 0);
         } catch (Exception e) {
             configPowerFlag = false;
             throw new RuntimeException(e);
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 5bffa64..5fda231 100644
--- a/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/SysActivity.java
@@ -3,7 +3,6 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.LayoutInflater;
-import android.view.View;
 
 import com.dayu.recharge.card.CleanCard;
 import com.dayu.recharge.card.CleanUserCard;
@@ -40,99 +39,77 @@
 
     private void initView() {
 
+       //鍒朵綔绠$悊鍗�
+        adminBinding.adminAdmin.setOnClickListener(v -> {
+            Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+            ManageCard manageCard = new ManageCard();
 
-        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);
-            }
+            intent.putExtra("manageCard", manageCard);
+            startActivity(intent);
         });
         //鍒朵綔娓呴浂鍗�
-        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);
-            }
+        adminBinding.adminCleanZero.setOnClickListener(v -> {
+            Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+            CleanCard cleanCard = new CleanCard();
+            intent.putExtra("cleanCard", cleanCard);
+            startActivity(intent);
         });
-        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);
-            }
+        adminBinding.adminRegistered.setOnClickListener(v -> {
+            Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+            RegisteredCard registeredCard = new RegisteredCard();
+            intent.putExtra("registeredCard", registeredCard);
+            startActivity(intent);
         });
         //鍒犻櫎鍏ㄩ儴鐢ㄦ埛
-        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);
-            }
+        adminBinding.adminCleanUser.setOnClickListener(v -> {
+            Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+            CleanUserCard cleanUserCard = new CleanUserCard();
+            intent.putExtra("cleanUserCard", cleanUserCard);
+            startActivity(intent);
         });
 //        璁剧疆鍩熷悕鍗�
-        adminBinding.adminDomain.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
-                DomainBean domainBean = baseDao.domainPortDao().findFirst();
-                DomainCard domainCard = new DomainCard();
-                if (domainBean != null) {
-                    domainCard.setDomainNumber(domainBean.getDomainNumber());
-                    domainCard.setDomainName(domainBean.getDomain());
-                    domainCard.setPort(domainBean.getPort());
-                } else {
-                    domainCard.setDomainNumber("1");
-                    domainCard.setDomainName("dayuyanjiuyuan.top");
-                    domainCard.setPort(8888);
-                }
-                intent.putExtra("domainCard", domainCard);
-                startActivity(intent);
+        adminBinding.adminDomain.setOnClickListener(v -> {
+            Intent intent = new Intent(SysActivity.this, NFCWreatActivity.class);
+            DomainBean domainBean = baseDao.domainPortDao().findFirst();
+            DomainCard domainCard = new DomainCard();
+            if (domainBean != null) {
+                domainCard.setDomainNumber(domainBean.getDomainNumber());
+                domainCard.setDomainName(domainBean.getDomain());
+                domainCard.setPort(domainBean.getPort());
+            } else {
+                domainCard.setDomainNumber("1");
+                domainCard.setDomainName("dayuyanjiuyuan.top");
+                domainCard.setPort(8888);
             }
+            intent.putExtra("domainCard", domainCard);
+            startActivity(intent);
         });
-        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.adminTest.setOnClickListener(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.adminConfigDeviceRegistration.setOnClickListener(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 {
-                    TipUtil.show("璇峰厛璁剧疆姘存车鍔熺巼");
-                }
-
+        //璁剧疆姘存车鍔熺巼
+        adminBinding.adminConfigPower.setOnClickListener(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 {
+                TipUtil.show("璇峰厛璁剧疆姘存车鍔熺巼");
             }
+
         });
 
     }
diff --git a/app/src/main/java/com/dayu/recharge/card/BaseCard.java b/app/src/main/java/com/dayu/recharge/card/BaseCard.java
index c7b4357..bf4b1e2 100644
--- a/app/src/main/java/com/dayu/recharge/card/BaseCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/BaseCard.java
@@ -1,6 +1,10 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
+import com.dayu.recharge.dbBean.CardData;
 import com.dayu.recharge.tools.HexUtil;
+import com.dayu.recharge.utils.MyCommon;
+import com.tencent.bugly.crashreport.CrashReport;
 
 import java.io.Serializable;
 
@@ -11,11 +15,26 @@
  * Description:鎵�鏈夊崱缁撴瀯鐨勭埗绫�
  */
 public class BaseCard implements Serializable {
+    public String cardData;//鏍囪瘑鐮�
+
+    public void setCardData(AppDatabase baseDao, String cardType) {
+        try {
+            CardData cardDataBean = baseDao.cardDataDao().findFirst(cardType);
+            if (cardDataBean != null) {
+                cardData = cardDataBean.getCardIdentifying();
+            } else {
+                cardData=MyCommon.getDefaultCardData(cardType);
+            }
+        } catch (Exception e) {
+            CrashReport.postCatchedException(e);
+        }
+    }
+
 
     /**
      * 鍓�15涓瓧鑺傜畻鏈疮鍔犲拰 涓嶅惈杩涗綅
      *
-     * @param data
+     * @param data 婧愭暟鎹�
      * @return 16杩涘埗
      */
     public byte getByteSum(byte[] data) {
diff --git a/app/src/main/java/com/dayu/recharge/card/CleanCard.java b/app/src/main/java/com/dayu/recharge/card/CleanCard.java
index 2a8ac77..e433e86 100644
--- a/app/src/main/java/com/dayu/recharge/card/CleanCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/CleanCard.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MyCommon;
 
@@ -11,29 +12,26 @@
  * Date: 2023-11-08 10:57
  * Description:娓呴浂鍗�
  */
-public class CleanCard implements Serializable {
+public class CleanCard extends BaseCard implements Serializable {
     public String cardType = MyCommon.CLEAN_CARD_TYPE;//鍗$被鍨�
-    public String cardData = "3668F7A30119";//鏍囪瘑鐮�
 
     public String getCardData() {
         return cardData;
     }
 
 
-
-    public byte[] toByte() {
+    public byte[] toByte(AppDatabase appDatabase) {
+        setCardData(appDatabase, cardType);
         Zero zero = new Zero();
         return zero.toByte();
     }
 
-    public class Zero extends BaseCard {
+    public class Zero {
         public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
             byte[] cardDatas = HexUtil.hexToByteArray(cardData);
-            for (int i = 0; i < 6; i++) {
-                data[i + 1] = cardDatas[i];
-            }
+            System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
             data[15] = getByteSum(data);
             return data;
         }
diff --git a/app/src/main/java/com/dayu/recharge/card/CleanUserCard.java b/app/src/main/java/com/dayu/recharge/card/CleanUserCard.java
index 3135f07..5165024 100644
--- a/app/src/main/java/com/dayu/recharge/card/CleanUserCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/CleanUserCard.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MyCommon;
 
@@ -11,23 +12,21 @@
  * Date: 2023-11-08 11:39
  * Description:鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�
  */
-public class CleanUserCard implements Serializable {
+public class CleanUserCard extends BaseCard implements Serializable {
     public String cardType = MyCommon.CLEAN_ALL_USER_CARD_TYPE;//鍗$被鍨�
-    public String cardData = "A0B1C289";//鏍囪瘑鐮�
 
-    public byte[] toByte() {
+    public byte[] toByte(AppDatabase appDatabase) {
+        setCardData(appDatabase, cardType);
         Zero zero = new Zero();
         return zero.toByte();
     }
 
-    public class Zero extends BaseCard {
+    public class Zero {
         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];
-            }
+            System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
             data[15] = getByteSum(data);
             return data;
         }
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 c727b4c..66b1ccd 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MyCommon;
 import com.tencent.bugly.crashreport.CrashReport;
@@ -15,11 +16,10 @@
  * 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝
  * 鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤
  */
-public class ConfigurationPowerCard implements Serializable {
+public class ConfigurationPowerCard extends BaseCard implements Serializable {
 
 
     public String cardType = MyCommon.CONFIGURATION_POWER_CARD_TYPE;//鍗$被鍨�
-    public String cardData = "A0B1C289";//鏍囪瘑鐮�
 
     public String getCardData() {
         return cardData;
@@ -49,19 +49,18 @@
         }
     }
 
-    public byte[] toByte() {
+    public byte[] toByte(AppDatabase appDatabase) {
+        setCardData(appDatabase,cardType);
         Zero zero = new Zero();
         return zero.toByte();
     }
 
-    public class Zero extends BaseCard {
+    public class Zero  {
         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];
-            }
+                System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
             if (power != null) {
                 float floatPower = Float.parseFloat(power);
                 int intPower = (int) Math.ceil(floatPower); // 灏嗘诞鐐规暟鍚戜笂鍙栨暣骞惰浆鎹负鏁存暟
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 796d029..14d4973 100644
--- a/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
+++ b/app/src/main/java/com/dayu/recharge/card/ConfigureDeviceRegistrationCrad.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MyCommon;
 
@@ -14,7 +15,7 @@
  * <p>
  * 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤
  */
-public class ConfigureDeviceRegistrationCrad implements Serializable {
+public class ConfigureDeviceRegistrationCrad extends BaseCard implements Serializable {
     public String cardType = MyCommon.CONFIGURATION_CARD_TYPE;//鍗$被鍨�
     public String cardData = "A0B1C289";//鏍囪瘑鐮�
 
@@ -22,20 +23,18 @@
         return cardData;
     }
 
-    public byte[] toByte() {
+    public byte[] toByte(AppDatabase appDatabase) {
+        setCardData(appDatabase, cardType);
         Zero zero = new Zero();
         return zero.toByte();
     }
 
-    public class Zero extends BaseCard {
+    public class Zero  {
         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];
-            }
-
+                System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
             data[15] = getByteSum(data);
             return data;
         }
diff --git a/app/src/main/java/com/dayu/recharge/card/ManageCard.java b/app/src/main/java/com/dayu/recharge/card/ManageCard.java
index 4bea602..00db4ec 100644
--- a/app/src/main/java/com/dayu/recharge/card/ManageCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/ManageCard.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MyCommon;
 
@@ -11,27 +12,27 @@
  * Date: 2023-11-08 10:19
  * Description: 绠$悊鍗�  绗�1鎵囧尯 0鍧�
  */
-public class ManageCard implements Serializable {
+public class ManageCard extends BaseCard implements Serializable {
     public String cardType = MyCommon.MANAGE_CRAD;//鍗$被鍨�
-    public String cardData = "3668F7A30119";//鏍囪瘑鐮�
+//    public String cardData = "3668F7A30119";//鏍囪瘑鐮�
 
     public String getCardData() {
         return cardData;
     }
 
-    public byte[] toZeroByte() {
+
+    public byte[] toZeroByte(AppDatabase appDatabase) {
+        setCardData(appDatabase, cardType);
         Zero zero = new Zero();
         return zero.toByte();
     }
 
-    public class Zero extends BaseCard {
+    public class Zero {
         public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
             byte[] cardDatas = HexUtil.hexToByteArray(cardData);
-            for (int i = 0; i < 6; i++) {
-                data[i + 1] = cardDatas[i];
-            }
+            System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
             data[15] = getByteSum(data);
             return data;
         }
diff --git a/app/src/main/java/com/dayu/recharge/card/PassWordCard.java b/app/src/main/java/com/dayu/recharge/card/PassWordCard.java
index ff1e78f..a0e15d9 100644
--- a/app/src/main/java/com/dayu/recharge/card/PassWordCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/PassWordCard.java
@@ -1,7 +1,10 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MyCommon;
+
+import java.io.Serializable;
 
 /**
  * Copyright (C), 2023,
@@ -9,19 +12,23 @@
  * Date: 2023-11-08 11:22
  * Description:瀵嗙爜鍗�
  */
-public class PassWordCard {
+public class PassWordCard extends BaseCard implements Serializable {
     public String cardType = MyCommon.PASS_WORD_CRAD_TYPE;//鍗$被鍨�
-    public String cardData = "A0B1C289";//鏍囪瘑鐮�
 
-    public class Zero extends BaseCard {
-        public void toByte() {
+    public byte[] toByte(AppDatabase appDatabase) {
+        setCardData(appDatabase, cardType);
+        PassWordCard.Zero zero = new PassWordCard.Zero();
+        return zero.toByte();
+    }
+
+    public class Zero {
+        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];
-            }
+            System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
             data[15] = getByteSum(data);
+            return data;
         }
 
     }
diff --git a/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java b/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java
index de5c242..2264e99 100644
--- a/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/RegisteredCard.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MyCommon;
 
@@ -11,27 +12,25 @@
  * Date: 2023-11-08 11:36
  * Description:閲嶆柊娉ㄥ唽璁惧鍗★細鐢ㄤ簬鍐欑敤鎴锋敞鍐屽彿
  */
-public class RegisteredCard implements Serializable {
+public class RegisteredCard extends BaseCard implements Serializable {
     public String cardType = MyCommon.REGISTERED_CARD_TYPE;//鍗$被鍨�
-    public String cardData = "A0B1C289";//鏍囪瘑鐮�
 
     public String getCardData() {
         return cardData;
     }
 
-    public byte[] toByte() {
+    public byte[] toByte(AppDatabase appDatabase) {
+        setCardData(appDatabase, cardType);
         Zero zero = new Zero();
         return zero.toByte();
     }
 
-    public class Zero extends BaseCard {
+    public class Zero {
         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];
-            }
+            System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
             data[15] = getByteSum(data);
             return 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 c12f7e2..8f3fa2c 100644
--- a/app/src/main/java/com/dayu/recharge/card/TestCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/TestCard.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.card;
 
+import com.dayu.recharge.dao.AppDatabase;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MyCommon;
 
@@ -11,27 +12,25 @@
  * Date: 2023-11-08 13:23
  * Description: 娴嬭瘯鍗�
  */
-public class TestCard implements Serializable {
+public class TestCard extends BaseCard implements Serializable {
     public String cardType = MyCommon.TEST_CARD_TYPE;//鍗$被鍨�
-    public String cardData = "A0B1C289";//鏍囪瘑鐮�
 
     public String getCardData() {
         return cardData;
     }
 
-    public byte[] toByte() {
+    public byte[] toByte(AppDatabase appDatabase) {
+        setCardData(appDatabase, cardType);
         Zero zero = new Zero();
         return zero.toByte();
     }
 
-    public class Zero extends BaseCard {
+    public class Zero {
         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];
-            }
+            System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
             data[15] = getByteSum(data);
             return data;
         }
diff --git a/app/src/main/java/com/dayu/recharge/card/UserCard.java b/app/src/main/java/com/dayu/recharge/card/UserCard.java
index df69beb..93a8656 100644
--- a/app/src/main/java/com/dayu/recharge/card/UserCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/UserCard.java
@@ -2,7 +2,6 @@
 
 import com.dayu.recharge.tools.BcdUtil;
 import com.dayu.recharge.tools.HexUtil;
-import com.dayu.recharge.utils.MornyUtil;
 import com.dayu.recharge.utils.MyCommon;
 
 import java.io.Serializable;
@@ -15,7 +14,7 @@
  * Date: 2023-11-07 9:37
  * Description: 鐢ㄦ埛鍗$粨鏋�
  */
-public class UserCard implements Serializable {
+public class UserCard extends BaseCard implements Serializable {
     public String cardType = MyCommon.USER_CARD_TYPE_1;//鍐欏崱鏍囧織 A1鍒峰崱寮�娉靛墠 A8鍒峰崱寮�娉靛悗  A2鍙犲姞鍏呭��
 
     public int rechargeTimes;//鍏呭�兼鏁�
@@ -53,7 +52,7 @@
     /**
      * 閫氳繃byte杞琤ean
      *
-     * @param data
+     * @param data 璇诲崱鐨勬暟鎹�
      */
     public static UserCard getBean(List<byte[]> data) {
         try {
@@ -65,29 +64,22 @@
                 userCard.cardType = HexUtil.byteToHex(zero[0]);
                 userCard.rechargeTimes = HexUtil.get16to10(HexUtil.byteToHex(zero[1]));
                 byte[] swipeNumberBytes = new byte[2];
-                swipeNumberBytes[0] = zero[2];
-                swipeNumberBytes[1] = zero[3];
+                System.arraycopy(zero,2,swipeNumberBytes,0,swipeNumberBytes.length);
                 String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes);
                 userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex);
                 byte[] electricityPriceBytes = new byte[4];
-                for (int i = 0; i < 4; i++) {
-                    electricityPriceBytes[i] = zero[i + 4];
-                }
+                System.arraycopy(zero,4,electricityPriceBytes,0,electricityPriceBytes.length);
+
                 userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes));
                 userCard.state = BcdUtil.bcdToStr(zero[8]);
                 byte[] balanceBytes = new byte[4];
-                for (int i = 0; i < 4; i++) {
-                    balanceBytes[i] = zero[i + 9];
-                }
+                System.arraycopy(zero,9,balanceBytes,0,balanceBytes.length);
+
                 userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes));
 
                 byte[] addressCodeBytes = new byte[6];
-                addressCodeBytes[0] = zero[13];
-                addressCodeBytes[1] = zero[14];
-                addressCodeBytes[2] = two[11];
-                addressCodeBytes[3] = two[12];
-                addressCodeBytes[4] = two[13];
-                addressCodeBytes[5] = two[14];
+                System.arraycopy(zero,13,addressCodeBytes,0,2);
+                System.arraycopy(two,11,addressCodeBytes,0,4);
                 userCard.addressCode = BcdUtil.bcdToStr(addressCodeBytes);
 
                 int year = 0;
@@ -122,22 +114,8 @@
                 Calendar calendar = Calendar.getInstance();
                 calendar.set(2000 + year, month, day, hour, minute, second);
                 byte[] initPeasantCodeBytes = new byte[16];
-                initPeasantCodeBytes[0] = one[10];
-                initPeasantCodeBytes[1] = one[11];
-                initPeasantCodeBytes[2] = one[12];
-                initPeasantCodeBytes[3] = one[13];
-                initPeasantCodeBytes[4] = one[14];
-                initPeasantCodeBytes[5] = two[0];
-                initPeasantCodeBytes[6] = two[1];
-                initPeasantCodeBytes[7] = two[2];
-                initPeasantCodeBytes[8] = two[3];
-                initPeasantCodeBytes[9] = two[4];
-                initPeasantCodeBytes[10] = two[5];
-                initPeasantCodeBytes[11] = two[6];
-                initPeasantCodeBytes[12] = two[7];
-                initPeasantCodeBytes[13] = two[8];
-                initPeasantCodeBytes[14] = two[9];
-                initPeasantCodeBytes[15] = two[10];
+                System.arraycopy(one,10,initPeasantCodeBytes,0,5);
+                System.arraycopy(two,0,initPeasantCodeBytes,0,11);
                 userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes);
                 return userCard;
             }
@@ -157,7 +135,7 @@
     /**
      * 鐢ㄦ埛鍗�0鍧�
      */
-    public class Zero extends BaseCard {
+    public class Zero  {
         public byte[] toByte() {
             byte[] data = new byte[16];
             data[0] = HexUtil.hexToByte(cardType);
@@ -167,25 +145,22 @@
                 e.printStackTrace();
             }
             byte[] swipeNumbers = HexUtil.hexToByteArray(HexUtil.get10to16(swipeNumber));
-            for (int i = 0; i < swipeNumbers.length; i++) {
-                data[i + 2] = swipeNumbers[i];
-            }
+
+            System.arraycopy(swipeNumbers, 0, data, 2, swipeNumbers.length);
+
             byte[] electricityPrices = HexUtil.hexToByteArray(HexUtil.folatToHexString(electricityPrice));
-            for (int i = 0; i < electricityPrices.length; i++) {
-                data[i + 4] = electricityPrices[i];
-            }
+
+            System.arraycopy(electricityPrices, 0, data, 4, electricityPrices.length);
             try {
                 data[8] = BcdUtil.strToBcd(state)[0];
             } catch (Exception e) {
                 e.printStackTrace();
             }
             byte[] balances = HexUtil.hexToByteArray(HexUtil.get10to16LowHigh(balance, 8));
-            for (int i = 0; i < balances.length; i++) {
-                data[i + 9] = balances[i];
-            }
+
+            System.arraycopy(balances, 0, data, 9, balances.length);
             byte[] addresscodes = BcdUtil.strToBcd(addressCode);
-            data[13] = addresscodes[0];
-            data[14] = addresscodes[1];
+            System.arraycopy(addresscodes, 0, data, 13, 2);
             data[15] = getByteSum(data);
             return data;
         }
@@ -195,14 +170,12 @@
     /**
      * 鐢ㄦ埛鍗�1鍧�
      */
-    public class One extends BaseCard {
+    public class One  {
 
         public byte[] toBytes() {
             byte[] data = new byte[16];
             byte[] balances = HexUtil.hexToByteArray(HexUtil.get10to16LowHigh(balance, 8));
-            for (int i = 0; i < balances.length; i++) {
-                data[i] = balances[i];
-            }
+            System.arraycopy(balances, 0, data, 0, balances.length);
             if (rechargeDate != null) {
                 // 鑾峰彇骞淬�佹湀銆佹棩銆佹椂銆佸垎銆佺
 
@@ -221,6 +194,7 @@
                 byte bcdHour = (byte) ((hour / 10) << 4 | (hour % 10));
                 byte bcdMinute = (byte) ((minute / 10) << 4 | (minute % 10));
                 byte bcdSecond = (byte) ((second / 10) << 4 | (second % 10));
+
                 data[4] = bcdYear;
                 data[5] = bcdMonth;
                 data[6] = bcdDay;
@@ -229,9 +203,7 @@
                 data[9] = bcdSecond;
             }
             byte[] initPeasantCodes = HexUtil.hexToByteArray(initPeasantCode);
-            for (int i = 0; i < 5; i++) {
-                data[i + 10] = initPeasantCodes[i];
-            }
+            System.arraycopy(initPeasantCodes, 5, data, 0, 5);
             data[15] = getByteSum(data);
             return data;
         }
@@ -242,13 +214,11 @@
     /**
      * 鐢ㄦ埛鍗�2鍧�
      */
-    public class Two extends BaseCard {
+    public class Two  {
         public byte[] toBytes() {
             byte[] data = new byte[16];
             byte[] initPeasantCodes = HexUtil.hexToByteArray(initPeasantCode);
-            for (int i = 5; i < 16; i++) {
-                data[i - 5] = initPeasantCodes[i];
-            }
+            System.arraycopy(initPeasantCodes, 5, data, 0, 11);
             byte[] addresscodes = BcdUtil.strToBcd(addressCode);
             data[11] = addresscodes[2];
             data[12] = addresscodes[3];
diff --git a/app/src/main/java/com/dayu/recharge/utils/MyCommon.java b/app/src/main/java/com/dayu/recharge/utils/MyCommon.java
index 70aadb6..35a29e8 100644
--- a/app/src/main/java/com/dayu/recharge/utils/MyCommon.java
+++ b/app/src/main/java/com/dayu/recharge/utils/MyCommon.java
@@ -69,4 +69,31 @@
      */
     public static final String PASS_WORD_CRAD_TYPE = "B3";
 
+
+    /**
+     * 鑾峰彇榛樿鐨勫崱鏍囪瘑
+     *
+     * @param cardType 鍗$墖绫诲瀷
+     * @return 鍗″唴瀹�
+     */
+    public static String getDefaultCardData(String cardType) {
+        String cardData = "";
+        switch (cardType) {
+            case MANAGE_CRAD:
+            case CLEAN_CARD_TYPE:
+                cardData = "3668F7A30119";
+                break;
+            case REGISTERED_CARD_TYPE:
+            case CLEAN_ALL_USER_CARD_TYPE:
+            case TEST_CARD_TYPE:
+            case CONFIGURATION_CARD_TYPE:
+            case CONFIGURATION_POWER_CARD_TYPE:
+            case PASS_WORD_CRAD_TYPE:
+                cardData = "A0B1C289";
+                break;
+        }
+        return cardData;
+    }
+
+
 }
diff --git a/app/src/main/res/layout/activity_identyfying.xml b/app/src/main/res/layout/activity_identyfying.xml
index e72d9be..d1e7fb3 100644
--- a/app/src/main/res/layout/activity_identyfying.xml
+++ b/app/src/main/res/layout/activity_identyfying.xml
@@ -74,7 +74,10 @@
         android:layout_height="wrap_content"
         android:layout_below="@+id/electric_ll"
         android:layout_alignParentStart="true"
-        android:layout_margin="20dp"
+        android:layout_marginStart="20dp"
+        android:layout_marginTop="20dp"
+        android:layout_marginEnd="20dp"
+        android:layout_marginBottom="20dp"
         android:hint="璇疯緭鍏ユ柊鐨勫崱鏍囪瘑"
         android:inputType="number" />
 

--
Gitblit v1.8.0