From 50f6dd3b617f769e7fc6094c2dd0752747541489 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 23 十一月 2023 18:04:05 +0800
Subject: [PATCH] 修复导出充值记录bug 优化充值记录加载逻辑和速度 优化导出记录逻辑

---
 app/src/main/java/com/dayu/recharge/activity/MyActivity.java           |   94 +++++--
 app/src/main/java/com/dayu/recharge/model/RechargeListModel.java       |   17 +
 app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java           |  204 +++++++++++-----
 app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java      |  149 ++++--------
 app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java               |    6 
 app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java      |   59 +---
 app/src/main/res/layout/activity_recharge.xml                          |    1 
 app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java |   25 +
 app/src/main/java/com/dayu/recharge/dao/RechargeDao.java               |    5 
 app/src/main/java/com/dayu/recharge/activity/HomeActivity.java         |   25 +
 app/src/main/java/com/dayu/recharge/model/UserListMode.java            |   30 ++
 app/src/main/java/com/dayu/recharge/MyApplication.java                 |    9 
 app/src/main/res/layout/activity_admin.xml                             |    8 
 app/src/main/res/layout/activity_home.xml                              |   18 
 app/src/main/res/layout/activity_my.xml                                |   10 
 app/src/main/res/layout/activity_parameter.xml                         |    4 
 app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java     |    8 
 app/src/main/res/layout/activity_recharge_detail.xml                   |   12 +
 18 files changed, 428 insertions(+), 256 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index 5a9cafc..4f9b349 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -66,13 +66,20 @@
         isAidl = aidl;
     }
 
+    IpBean ipBean;
+
     /**
      * 鍒濆鍖朎asySocket
      */
     public void initEasySocket(boolean isCreate, SocketNet.CreateBack createBack) {
         try {
             this.createBack = createBack;
-            IpBean ipBean = BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst();
+            ipBean = BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst();
+            if (ipBean == null) {
+                ipBean = new IpBean();
+                ipBean.setIp("dayuyanjiuyuan.top");
+                ipBean.setPort(8888);
+            }
             if (ipBean != null) {
                 try {
                     //澶勭悊褰撹繛鎺ヤ笂IP鍚庝慨鏀筰p涓嶇敓鏁堥棶棰�
diff --git a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
index 9447bcd..54db2fd 100644
--- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java
@@ -9,12 +9,16 @@
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
+import android.nfc.NdefMessage;
 import android.nfc.NfcAdapter;
+import android.nfc.NfcEvent;
+import android.nfc.Tag;
 import android.os.Handler;
 import android.os.Message;
 
 import com.dayu.recharge.card.UserCard;
 import com.dayu.recharge.tools.NfcReadHelper;
+import com.dayu.recharge.utils.LogUtil;
 import com.dayu.recharge.utils.TipUtil;
 import com.tencent.bugly.crashreport.CrashReport;
 
@@ -62,6 +66,23 @@
         super.onStart();
         //姝ゅadapter闇�瑕侀噸鏂拌幏鍙栵紝鍚﹀垯鏃犳硶鑾峰彇message
         mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
+        if (mNfcAdapter != null){
+            mNfcAdapter.setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() {
+                @Override
+                public NdefMessage createNdefMessage(NfcEvent nfcEvent) {
+                    // 鍦ㄦ澶勫鐞哊FC娑堟伅鐨勫垱寤�
+                    return null;
+                }
+            }, this);
+
+        }
+//            mNfcAdapter.enableReaderMode(this, new NfcAdapter.ReaderCallback() {
+//                @Override
+//                public void onTagDiscovered(Tag tag) {
+//                    LogUtil.e(tag.toString());
+//                }
+//            }, NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK, null);
+
         //涓�鏃︽埅鑾種FC娑堟伅锛屽氨浼氶�氳繃PendingIntent璋冪敤绐楀彛
         mPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()), 0);
 
@@ -107,43 +128,5 @@
             return false;
         }
         return true;
-    }
-
-    /**
-     * 璇诲彇鍏ㄩ儴鏁版嵁
-     */
-    public void readAllData(Intent intent) {
-        try {
-            NfcReadHelper.getInstence(intent)
-                    .getAllData(new NfcReadHelper.NFCCallListback() {
-                        @Override
-                        public void callBack(Map<String, List<byte[]>> data) {
-                            Message message = new Message();
-//                           鑾峰彇1鎵囧尯鏁版嵁
-                            List<byte[]> oneSector = data.get("1");
-                            if (oneSector != null && oneSector.size() > 0) {
-                                userCard = UserCard.getBean(oneSector);
-                                message.what = RECHARGE;
-                            } else {
-                                message.what = ERROR;
-                            }
-                            if (handler != null) {
-                                handler.sendMessage(message);
-                            }
-                        }
-
-                        @Override
-                        public void error(int code) {
-                            if (handler != null) {
-                                Message message = new Message();
-                                message.what = ERROR;
-                                handler.sendMessage(message);
-                            }
-                        }
-                    });
-        } catch (Exception e) {
-            e.printStackTrace();
-            CrashReport.postCatchedException(e);
-        }
     }
 }
diff --git a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
index b2eb71b..62eae53 100644
--- a/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/HomeActivity.java
@@ -3,14 +3,17 @@
 import android.Manifest;
 import android.content.Intent;
 import android.os.Bundle;
+import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.widget.Toast;
 
 import com.dayu.recharge.MyApplication;
 import com.dayu.recharge.R;
 import com.dayu.recharge.databinding.ActivityHomeBinding;
 import com.dayu.recharge.dbBean.AdminDataBean;
 import com.dayu.recharge.utils.TipUtil;
+import com.dayu.recharge.utils.ToastUtil;
 import com.permissionx.guolindev.PermissionX;
 
 
@@ -71,7 +74,7 @@
                 if (adminData != null) {
                     startActivity(new Intent(HomeActivity.this, NewCardActivity.class));
                 } else {
-                    TipUtil.show("璇峰厛璁剧疆绠$悊鍛樹俊鎭�");
+                    TipUtil.show("璇峰厛璁剧疆鍦板潃淇℃伅");
                 }
 
             }
@@ -83,7 +86,7 @@
                 if (adminData != null) {
                     startActivity(new Intent(HomeActivity.this, RechargeActivity.class));
                 } else {
-                    TipUtil.show("璇峰厛璁剧疆绠$悊鍛樹俊鎭�");
+                    TipUtil.show("璇峰厛璁剧疆鍦板潃淇℃伅");
                 }
 
             }
@@ -120,8 +123,24 @@
     @Override
     protected void onDestroy() {
         super.onDestroy();
-        homeActivity=null;
+        homeActivity = null;
     }
 
 
+    long mExitTime;
+
+    //鐐瑰嚮涓ゆ閫�鍑虹▼搴� 鏈夋椂闂撮棿闅� 闂撮殧鍐呯偣鍑诲垯閫�鍑虹▼搴� 鍚﹀垯 鍒欐彁绀�
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_BACK) {
+            if ((System.currentTimeMillis() - mExitTime) > 2000) {
+                Toast.makeText(HomeActivity.this, "鍐嶆寜涓�娆¢��鍑虹▼搴�", Toast.LENGTH_SHORT).show();
+                mExitTime = System.currentTimeMillis();
+            } else {
+                HomeActivity.this.finish();
+            }
+            return true;
+        }
+        return super.onKeyDown(keyCode, event);
+    }
 }
diff --git a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
index 6dfe6ef..69f46bc 100644
--- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java
@@ -6,9 +6,13 @@
 import android.content.pm.PackageManager;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
+
+import androidx.annotation.NonNull;
 
 import com.dayu.recharge.MyApplication;
 import com.dayu.recharge.databinding.ActivityMyBinding;
@@ -119,42 +123,72 @@
     }
 
 
+    Handler handler = new Handler(new Handler.Callback() {
+        @Override
+        public boolean handleMessage(@NonNull Message msg) {
+            switch (msg.what) {
+                case 1:
+                    TipUtil.show(MyActivity.this, "瀵煎嚭鎴愬姛!");
+                    break;
+                default:
+                    TipUtil.show(MyActivity.this, "瀵煎嚭澶辫触!");
+                    break;
+            }
+            stopAnim();
+            return false;
+        }
+    });
+
     /**
      * 瀵煎嚭鎴怑xcel
      */
     private void outExcl() {
         startAnim();
-        File file = new File(ExcelUtil.outPath);
-        //鏂囦欢澶规槸鍚﹀凡缁忓瓨鍦�
-        if (!file.exists()) {
-            file.mkdirs();
-        }
-        List listData = new ArrayList();
-        try {
-            if (isRechargeList) {
-                listData = baseDao.rechargeDao().findByTime(beginTime, endTime);
-            } else {
-                listData = baseDao.userCardDao().findByTime(beginTime, endTime);
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                {
+                    try {
+                        File file = new File(ExcelUtil.outPath);
+                        //鏂囦欢澶规槸鍚﹀凡缁忓瓨鍦�
+                        if (!file.exists()) {
+                            file.mkdirs();
+                        }
+                        List listData = new ArrayList();
+                        try {
+                            if (isRechargeList) {
+                                listData = asynchBaseDao.rechargeDao().ansyFindByTime(beginTime, endTime);
+                            } else {
+                                listData = baseDao.userCardDao().findByTime(beginTime, endTime);
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        String[] title;
+                        String fileName;
+                        if (listData == null || listData.size() == 0) {
+                            TipUtil.show(MyActivity.this, "璁板綍涓虹┖");
+                            return;
+                        }
+                        if (isRechargeList) {
+                            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
+                            fileName = file.toString() + "/" + ExcelUtil.outRechargePathName;
+                        } else {
+                            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
+                            fileName = file.toString() + "/" + ExcelUtil.outUserPathName;
+                        }
+                        ExcelUtil.initExcel(fileName, title);
+                        ExcelUtil.writeObjListToExcel(listData, fileName, MyActivity.this);
+                        handler.sendEmptyMessage(1);
+                    } catch (Exception e) {
+                        handler.sendEmptyMessage(2);
+                        e.printStackTrace();
+                    }
+                }
             }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        String[] title;
-        String fileName;
-        if (listData == null || listData.size() == 0) {
-            TipUtil.show(MyActivity.this, "璁板綍涓虹┖");
-            return;
-        }
-        if (isRechargeList) {
-            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "鍏呭�兼棩鏈�", "鍏呭�奸噾棰濓紙鍏冿級", "鍓╀綑閲戦锛堝厓锛�"};
-            fileName = file.toString() + "/" + ExcelUtil.outRechargePathName;
-        } else {
-            title = new String[]{"璁惧搴忓垪鍙�", "鐢ㄦ埛鍚�", "韬唤璇佸彿", "娉ㄥ唽鏃ユ湡", "鐢佃瘽"};
-            fileName = file.toString() + "/" + ExcelUtil.outUserPathName;
-        }
-        ExcelUtil.initExcel(fileName, title);
-        ExcelUtil.writeObjListToExcel(listData, fileName, MyActivity.this);
-        stopAnim();
+        }).start();
+
+
     }
 
     void getVersion(Activity context) {
diff --git a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
index d7f58d0..5b04dc2 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
@@ -3,11 +3,9 @@
 import android.content.Intent;
 import android.nfc.NfcAdapter;
 import android.os.Bundle;
-import android.os.Handler;
 import android.os.Message;
 import android.view.LayoutInflater;
 import android.view.View;
-
 
 import com.dayu.recharge.card.ConfigurationPowerCard;
 import com.dayu.recharge.card.DomainCard;
@@ -96,12 +94,12 @@
 
     @Override
     public void onNewIntent(Intent intent) {
-        super.onNewIntent(intent);
         this.intent = intent;
         ProgressDialog.show(this);
         if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
             readAllData(intent);
         }
+        super.onNewIntent(intent);
     }
 
     /**
@@ -110,136 +108,93 @@
 
     public void readAllData(Intent intent) {
         NfcReadHelper.getInstence(intent)
-                .getAllData(new NfcReadHelper.NFCCallListback() {
+                .getOneSectorData(new NfcReadHelper.NFCCallListback() {
                     @Override
-                    public void callBack(Map<String, List<byte[]>> data) {
-                        Message message = new Message();
+                    public void callBack(List<byte[]> data) {
                         //鑾峰彇1鎵囧尯鏁版嵁
-                        List<byte[]> oneSector = data.get("1");
-                        if (oneSector != null && oneSector.size() > 0) {
-                            byte cardType = oneSector.get(0)[0];
+                        if (data != null && data.size() > 0) {
+                            byte cardType = data.get(0)[0];
                             String cardTypeStr = HexUtil.byteToHex(cardType);
                             switch (cardTypeStr) {
                                 case MyCommon.USER_CARD_TYPE_1:
                                 case MyCommon.USER_CARD_TYPE_2:
                                 case MyCommon.USER_CARD_TYPE_3:
-                                    userCard = UserCard.getBean(oneSector);
-                                    message.what = USER_CRAD;
+                                    userCard = UserCard.getBean(data);
+                                    selectBalance(userCard.getInitPeasantCode());
                                     break;
                                 case MyCommon.MANAGE_CRAD:
-                                    message.what = MANAGE_CRAD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.CLEAN_CARD_TYPE:
-                                    message.what = CLEAN_CARD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.REGISTERED_CARD_TYPE:
-                                    message.what = REGISTERED_CARD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱");
+                                    stopAnim();
+
                                     break;
                                 case MyCommon.CLEAN_ALL_USER_CARD_TYPE:
-                                    message.what = CLEAN_ALL_USER;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.DOMAIN_CARD_TYPE:
-                                    message.what = DOMAIN_CARD;
-                                    message.obj = oneSector;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓鸿缃煙鍚嶅崱");
+                                    DomainCard domainCard = DomainCard.toBean(data);
+                                    redCardBinding.readCardDataTV.setText("搴忓彿锛�" + domainCard.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainCard.getDomainName() + "\n" + "绔彛鍙凤細" + domainCard.getPort());
+                                    stopAnim();
                                     break;
                                 case MyCommon.TEST_CARD_TYPE:
-                                    message.what = TEST_CARD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.CONFIGURATION_CARD_TYPE:
-                                    message.what = CONFIGURATION_CARD;
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱");
+                                    stopAnim();
                                     break;
                                 case MyCommon.CONFIGURATION_POWER_CARD_TYPE:
-                                    message.what = CONFIGURATION_POWER_CARD;
-                                    message.obj = oneSector.get(0);
+                                    viweGone(false);
+                                    redCardBinding.readCardTypeTV.setText("褰撳墠閰嶇疆姘存车鍔熺巼鍗�");
+                                    ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(data.get(0));
+                                    redCardBinding.readCardDataTV.setText(powerCard.getPower());
+                                    stopAnim();
+                                    break;
+                                default:
+                                    TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
+                                    stopAnim();
                                     break;
                             }
 
                         } else {
-                            message.what = MyCommon.ERROR;
+                            TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
+                            stopAnim();
                         }
-                        handler.sendMessage(message);
-                    }
 
+                    }
 
                     @Override
                     public void error(int code) {
-                        Message message = new Message();
-                        message.what = code;
-                        handler.sendMessage(message);
+                        switch (code) {
+                            case MyCommon.ERROR_MOVE:
+                                stopAnim();
+                                TipUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
+                                break;
+                            default:
+                                stopAnim();
+                                TipUtil.show("鍗$墖璇嗗埆閿欒,璇烽噸璇曪紒");
+                        }
                     }
                 });
     }
 
-    Handler handler = new Handler(new Handler.Callback() {
-        @Override
-        public boolean handleMessage(Message msg) {
-            switch (msg.what) {
-                case USER_CRAD:
-                    selectBalance(userCard.getInitPeasantCode());
-                    break;
-                case MANAGE_CRAD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓虹鐞嗗崱");
-                    stopAnim();
-                    break;
-                case CLEAN_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓烘竻闆跺崱");
-                    stopAnim();
-                    break;
-                case REGISTERED_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓洪噸鏂版敞鍐岃澶囧崱");
-                    stopAnim();
-                    break;
-                case CLEAN_ALL_USER:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓哄垹闄ゅ叏閮ㄧ敤鎴峰崱");
-                    stopAnim();
-                    break;
-                case DOMAIN_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓鸿缃煙鍚嶅崱");
-                    List<byte[]> data = (List<byte[]>) msg.obj;
-                    DomainCard domainCard = DomainCard.toBean(data);
-                    redCardBinding.readCardDataTV.setText("搴忓彿锛�" + domainCard.getDomainNumber() + "\n" + "鍩熷悕锛�" + domainCard.getDomainName() + "\n" + "绔彛鍙凤細" + domainCard.getPort());
-                    stopAnim();
-                    break;
-                case TEST_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓烘祴璇曞崱");
-                    stopAnim();
-                    break;
-                case CONFIGURATION_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓洪厤缃澶囨敞鍐屼俊鎭崱");
-                    stopAnim();
-                    break;
-                case CONFIGURATION_POWER_CARD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠閰嶇疆姘存车鍔熺巼鍗�");
-                    byte[] powerData = (byte[]) msg.obj;
-                    ConfigurationPowerCard powerCard = ConfigurationPowerCard.toBean(powerData);
-                    redCardBinding.readCardDataTV.setText(powerCard.getPower());
-                    stopAnim();
-                    break;
-                case PASS_WORD_CRAD:
-                    viweGone(false);
-                    redCardBinding.readCardTypeTV.setText("褰撳墠涓哄瘑鐮佸崱");
-                    stopAnim();
-                    break;
-                case MyCommon.ERROR_MOVE:
-                    stopAnim();
-                    TipUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
-                    break;
-                default:
-                    TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
-                    stopAnim();
-                    break;
-            }
-            return false;
-        }
-    });
 
     private void viweGone(boolean isUSerCard) {
         redCardBinding.readImgLL.setVisibility(View.GONE);
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
index fabb5c9..12031d2 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java
@@ -73,7 +73,7 @@
                 TipUtil.show(RechargeActivity.this, "鍗$墖璇诲彇澶辫触");
             }
 
-            readAllData(intent);
+//            readAllData(intent);
         } catch (Exception e) {
             e.printStackTrace();
             CrashReport.postCatchedException(e);
@@ -195,7 +195,9 @@
                             binding.redRemainderBlance.setText(MornyUtil.changeF2Y(balance));
                             binding.redStatu.setText(stateText.toString());
                             binding.redInitCode.setText(initPeasantCode);
+
                             if ("00".equals(state)) {
+                                binding.rechargeRegistBtn.setVisibility(View.VISIBLE);
                                 stateText.append("鍚敤");
                                 userCard.setState("00");
                                 userCard.setBalance(balance);
@@ -215,6 +217,7 @@
                             }
                             binding.redStatu.setText(stateText.toString());
                             binding.rechargeLL.setVisibility(View.GONE);
+                            binding.rechargeRegistBtn.setVisibility(View.GONE);
                             binding.rechargeRegistBtn.setVisibility(View.GONE);
                             TipUtil.show(RechargeActivity.this, stateText.toString());
                         } catch (Exception e) {
@@ -238,8 +241,9 @@
         }
 
     }
+
     protected void onDestroy() {
         super.onDestroy();
-        rechargeActivity=null;
+        rechargeActivity = null;
     }
 }
diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java b/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
index 588fcaf..9ad290f 100644
--- a/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/RechargeListActivity.java
@@ -35,6 +35,8 @@
     long beginTime;
     long endTime;
 
+    RechargeListModel rechargeListModel;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -48,11 +50,12 @@
 
     private void setData() {
 
-        RechargeListModel rechargeListModel = new RechargeListModel(this);
-        rechargeListModel.getRechargeList().observe(this, myList -> {
+        rechargeListModel = new RechargeListModel(this);
+        rechargeListModel.getAllRechargeList().observe(this, myList -> {
             rechargeList.clear();
             rechargeList.addAll(myList);
             adapter.notifyDataSetChanged();
+            getTotal();
         });
         adapter = new RechargeAdapter(this, rechargeList);
         rechargeListBinding.rechargeList.setAdapter(adapter);
@@ -109,11 +112,19 @@
                     TipUtil.show(RechargeListActivity.this, "缁撴潫鏃堕棿涓嶈兘鏅氫簬寮�濮嬫椂闂�");
                 } else {
                     endTime = endTime + (1000 * 60 * 60 * 24) - 1;
-                    List<RechargeBean> userList = baseDao.rechargeDao().findByTime(beginTime, endTime);
-                    rechargeList.clear();
-                    rechargeList.addAll(userList);
-                    adapter.notifyDataSetChanged();
-                    getTotal();
+
+                    rechargeListModel.getRechargeList(beginTime, endTime).observe(RechargeListActivity.this, list -> {
+                        if (rechargeList != null) {
+                            rechargeList.clear();
+                            rechargeList.addAll(list);
+                            adapter.notifyDataSetChanged();
+                            getTotal();
+                        } else {
+                            TipUtil.show(RechargeListActivity.this, "鏈煡璇㈠埌鏁版嵁!");
+                        }
+
+                    });
+
 
                 }
             }
diff --git a/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java b/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java
index f563625..5af3c7f 100644
--- a/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java
+++ b/app/src/main/java/com/dayu/recharge/dao/RechargeDao.java
@@ -35,5 +35,8 @@
     LiveData<List<RechargeBean>> findAll();
 
     @Query("select  * from RechargeBean where date>=:beginTime and date<=:endTime")
-    List<RechargeBean> findByTime(long beginTime, long endTime);
+    LiveData<List<RechargeBean>> findByTime(long beginTime, long endTime);
+
+    @Query("select  * from RechargeBean where date>=:beginTime and date<=:endTime")
+    List<RechargeBean> ansyFindByTime(long beginTime, long endTime);
 }
diff --git a/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java b/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java
index 9f6d923..7345d47 100644
--- a/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java
+++ b/app/src/main/java/com/dayu/recharge/model/RechargeListModel.java
@@ -4,6 +4,7 @@
 import androidx.lifecycle.ViewModel;
 
 import com.dayu.recharge.activity.BaseActivity;
+import com.dayu.recharge.dao.RechargeDao;
 import com.dayu.recharge.dbBean.RechargeBean;
 
 import java.util.List;
@@ -13,17 +14,23 @@
  * author: zuo
  * Date: 2023-11-23
  * Time: 9:06
- * 澶囨敞锛�
+ * 澶囨敞锛氬厖鍊艰褰曠殑mode
  */
-public class RechargeListModel   {
+public class RechargeListModel {
     LiveData<List<RechargeBean>> rechargeList;
-
+    RechargeDao rechargeDao;
 
     public RechargeListModel(BaseActivity baseActivity) {
-        rechargeList = baseActivity.asynchBaseDao.rechargeDao().findAll();
+        rechargeDao = baseActivity.asynchBaseDao.rechargeDao();
     }
 
-    public LiveData<List<RechargeBean>> getRechargeList() {
+    public LiveData<List<RechargeBean>> getAllRechargeList() {
+        rechargeList = rechargeDao.findAll();
+        return rechargeList;
+    }
+
+    public LiveData<List<RechargeBean>> getRechargeList(long beginTime, long endTime) {
+        rechargeList = rechargeDao.findByTime(beginTime,endTime);
         return rechargeList;
     }
 
diff --git a/app/src/main/java/com/dayu/recharge/model/UserListMode.java b/app/src/main/java/com/dayu/recharge/model/UserListMode.java
new file mode 100644
index 0000000..16631c1
--- /dev/null
+++ b/app/src/main/java/com/dayu/recharge/model/UserListMode.java
@@ -0,0 +1,30 @@
+package com.dayu.recharge.model;
+
+import android.app.Activity;
+
+import com.dayu.recharge.dbBean.UserCardBean;
+
+import java.util.List;
+
+/**
+ * Created by Android Studio.
+ * author: zuo
+ * Date: 2023-11-23
+ * Time: 16:35
+ * 澶囨敞锛氱敤鎴疯褰曠殑mode
+ */
+public class UserListMode {
+    List<UserCardBean> userCardBeanList;
+
+    public UserListMode(Activity activity) {
+
+    }
+
+    public List<UserCardBean> getUserCardBeanList() {
+        return userCardBeanList;
+    }
+
+    public void setUserCardBeanList(List<UserCardBean> userCardBeanList) {
+        this.userCardBeanList = userCardBeanList;
+    }
+}
diff --git a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
index 34cd956..650415d 100644
--- a/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
+++ b/app/src/main/java/com/dayu/recharge/tools/NfcReadHelper.java
@@ -69,8 +69,8 @@
                 List<byte[]> list = new ArrayList<>();
                 //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
                 boolean isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey);
-                if (!isOpen){
-                    isOpen=   mfc.authenticateSectorWithKeyA(1, companyKey);
+                if (!isOpen) {
+                    isOpen = mfc.authenticateSectorWithKeyA(1, companyKey);
                 }
                 if (isOpen) {
                     //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
@@ -118,8 +118,8 @@
             try {
                 mfc.connect();
                 boolean isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey);
-                if (!isOpen){
-                    isOpen= mfc.authenticateSectorWithKeyA(1, companyKey);
+                if (!isOpen) {
+                    isOpen = mfc.authenticateSectorWithKeyA(1, companyKey);
                 }
                 if (isOpen) {
                     int bIndex = mfc.sectorToBlock(1);
@@ -152,72 +152,136 @@
      *
      * @param callback
      */
-    public void getAllData(final NFCCallListback callback) {
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                Map<String, List<byte[]>> map = new HashMap<>();
-                MifareClassic mfc = MifareClassic.get(tag);
-                if (null != mfc) {
-                    try {
-                        //閾炬帴NFC
-                        mfc.connect();
-                        //鑾峰彇鎵囧尯鏁伴噺
-                        int count = mfc.getSectorCount();
-                        //瀛樺偍绌洪棿
-                        int size = mfc.getSize();
-                        //鐢ㄤ簬鍒ゆ柇鏃跺�欐湁鍐呭璇诲彇鍑烘潵
-                        boolean flag = false;
-                        for (int i = 0; i < count; i++) {
-                            List<byte[]> list = new ArrayList<>();
-                            //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
-                            boolean isOpen = mfc.authenticateSectorWithKeyA(i, defauleKey);
-                            if (!isOpen){
-                                isOpen = mfc.authenticateSectorWithKeyA(i, companyKey);
+    public void getAllData(final NFCCallMapback callback) {
+        Map<String, List<byte[]>> map = new HashMap<>();
+        MifareClassic mfc = MifareClassic.get(tag);
+        if (null != mfc) {
+            try {
+                //閾炬帴NFC
+                mfc.connect();
+                //鑾峰彇鎵囧尯鏁伴噺
+                int count = mfc.getSectorCount();
+                //瀛樺偍绌洪棿
+                int size = mfc.getSize();
+                //鐢ㄤ簬鍒ゆ柇鏃跺�欐湁鍐呭璇诲彇鍑烘潵
+                boolean flag = false;
+                for (int i = 0; i < count; i++) {
+                    List<byte[]> list = new ArrayList<>();
+                    //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
+                    boolean isOpen = mfc.authenticateSectorWithKeyA(i, defauleKey);
+                    if (!isOpen) {
+                        isOpen = mfc.authenticateSectorWithKeyA(i, companyKey);
+                    }
+                    if (isOpen) {
+                        //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
+                        int bCount = mfc.getBlockCountInSector(i);
+                        //鑾峰彇鎵囧尯绗竴涓潡瀵瑰簲鑺墖瀛樺偍鍣ㄧ殑浣嶇疆锛堟垜鏄繖鏍风悊瑙g殑锛屽洜涓虹0鎵囧尯鐨勮繖涓�兼槸4鑰屼笉鏄�0锛�
+                        int bIndex = mfc.sectorToBlock(i);
+                        //String data1 = "";
+                        for (int j = 0; j < bCount; j++) {
+                            //璇诲彇鏁版嵁
+                            byte[] data = null;
+                            try {
+                                data = mfc.readBlock(bIndex);
+                                bIndex++;
+                                list.add(data);
+                            } catch (Exception e) {
+                                e.printStackTrace();
                             }
-                            if (isOpen) {
-                                //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
-                                int bCount = mfc.getBlockCountInSector(i);
-                                //鑾峰彇鎵囧尯绗竴涓潡瀵瑰簲鑺墖瀛樺偍鍣ㄧ殑浣嶇疆锛堟垜鏄繖鏍风悊瑙g殑锛屽洜涓虹0鎵囧尯鐨勮繖涓�兼槸4鑰屼笉鏄�0锛�
-                                int bIndex = mfc.sectorToBlock(i);
-                                //String data1 = "";
-                                for (int j = 0; j < bCount; j++) {
-                                    //璇诲彇鏁版嵁
-                                    byte[] data = null;
-                                    try {
-                                        data = mfc.readBlock(bIndex);
-                                        bIndex++;
-                                        list.add(data);
-                                    } catch (Exception e) {
-                                        e.printStackTrace();
-                                    }
-                                }
-                                flag = true;
-                            }
-                            map.put(i + "", list);
                         }
-                        if (flag) {
-                            callback.callBack(map);
-                        } else {
-                            callback.error(MyCommon.ERROR);
-                        }
-                    } catch (IOException e) {
-                        callback.error(MyCommon.ERROR_MOVE);
-                        e.printStackTrace();
-                    } catch (Exception e) {
-                        callback.error(MyCommon.ERROR);
-                        e.printStackTrace();
-                    } finally {
+                        flag = true;
+                    }
+                    map.put(i + "", list);
+                }
+                if (flag) {
+                    callback.callBack(map);
+                } else {
+                    callback.error(MyCommon.ERROR);
+                }
+            } catch (IOException e) {
+                callback.error(MyCommon.ERROR_MOVE);
+                e.printStackTrace();
+            } catch (Exception e) {
+                callback.error(MyCommon.ERROR);
+                e.printStackTrace();
+            } finally {
+                try {
+                    mfc.close();
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
+
+    /**
+     * 鑾峰彇1鎵囧尯淇℃伅
+     *
+     * @param callback
+     */
+    public void getOneSectorData(NFCCallListback callback) {
+
+
+        MifareClassic mfc = null;
+        try {
+            mfc = MifareClassic.get(tag);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (null != mfc) {
+            try {
+                //閾炬帴NFC
+                mfc.connect();
+                //鐢ㄤ簬鍒ゆ柇鏃跺�欐湁鍐呭璇诲彇鍑烘潵
+                boolean flag = false;
+                List<byte[]> list = new ArrayList<>();
+                //楠岃瘉鎵囧尯瀵嗙爜锛屽惁鍒欎細鎶ラ敊锛堥摼鎺ュけ璐ラ敊璇級
+                boolean isOpen = mfc.authenticateSectorWithKeyA(1, companyKey);
+                if (!isOpen) {
+                    isOpen = mfc.authenticateSectorWithKeyA(1, defauleKey);
+                }
+                if (isOpen) {
+                    //鑾峰彇鎵囧尯閲岄潰鍧楃殑鏁伴噺
+                    int bCount = mfc.getBlockCountInSector(1);
+                    //鑾峰彇鎵囧尯绗竴涓潡瀵瑰簲鑺墖瀛樺偍鍣ㄧ殑浣嶇疆锛堟垜鏄繖鏍风悊瑙g殑锛屽洜涓虹0鎵囧尯鐨勮繖涓�兼槸4鑰屼笉鏄�0锛�
+                    int bIndex = mfc.sectorToBlock(1);
+                    //String data1 = "";
+                    for (int j = 0; j < bCount; j++) {
+                        //璇诲彇鏁版嵁
+                        byte[] data = null;
                         try {
-                            mfc.close();
+                            data = mfc.readBlock(bIndex);
+                            bIndex++;
+                            list.add(data);
                         } catch (Exception e) {
                             e.printStackTrace();
                         }
                     }
+                    flag = true;
+                }
+                if (flag) {
+                    callback.callBack(list);
+                } else {
+                    callback.error(MyCommon.ERROR);
+                }
+            } catch (IOException e) {
+                callback.error(MyCommon.ERROR_MOVE);
+                e.printStackTrace();
+            } catch (Exception e) {
+                callback.error(MyCommon.ERROR);
+                e.printStackTrace();
+            } finally {
+
+                try {
+                    mfc.close();
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
             }
-        }).start();
+        }
     }
+
 
     /**
      * 璇诲彇NFC鍗$殑鐗瑰畾鎵囧尯淇℃伅
@@ -263,7 +327,7 @@
                                 break;
                         }
                         boolean isOpen = mfc.authenticateSectorWithKeyA(a, defauleKey);
-                        if (!isOpen){
+                        if (!isOpen) {
                             isOpen = mfc.authenticateSectorWithKeyA(a, companyKey);
                         }
                         if (isOpen) {
@@ -293,7 +357,7 @@
     /**
      * 杩斿洖鐩戝惉绫�
      */
-    public interface NFCCallListback {
+    public interface NFCCallMapback {
         /**
          * 杩斿洖璇诲彇nfc鍗$殑鍏ㄩ儴淇℃伅
          *
@@ -305,6 +369,22 @@
         void error(int code);
     }
 
+    /**
+     * 杩斿洖鐩戝惉绫�
+     */
+    public interface NFCCallListback {
+        /**
+         * 杩斿洖璇诲彇nfc鍗$殑鍏ㄩ儴淇℃伅
+         *
+         * @param data 鍓嶉潰浠h〃鎵囧尯 鍥涗釜鍧楃殑鏁版嵁鐢�#鍙烽殧寮�
+         */
+        void callBack(List<byte[]> data);
+
+
+        void error(int code);
+    }
+
+
     public interface NFCCallByteback {
         /**
          * 杩斿洖璇诲彇nfc鍗$殑鍏ㄩ儴淇℃伅
diff --git a/app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java b/app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java
index e508bd9..4ac6e11 100644
--- a/app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java
+++ b/app/src/main/java/com/dayu/recharge/utils/ExcelUtil.java
@@ -131,7 +131,11 @@
                         RechargeBean projectBean = (RechargeBean) objList.get(j);
                         list.add(projectBean.getSerial());
                         list.add(projectBean.getUserName());
-                        list.add(projectBean.getUserId());
+                        if (projectBean.getUserId() != null) {
+                            list.add(projectBean.getUserId());
+                        } else {
+                            list.add("");
+                        }
                         list.add(DateUtil.dateToStamp(projectBean.getDate(), DateUtil.type2));
                         list.add(projectBean.getMorny());
                         list.add(projectBean.getBalance());
diff --git a/app/src/main/res/layout/activity_admin.xml b/app/src/main/res/layout/activity_admin.xml
index 726d4b4..6e87394 100644
--- a/app/src/main/res/layout/activity_admin.xml
+++ b/app/src/main/res/layout/activity_admin.xml
@@ -31,6 +31,7 @@
                 android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔绠$悊鍗�"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -41,6 +42,7 @@
                 android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔娓呴浂鍗�"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -51,6 +53,7 @@
                 android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔閲嶆柊娉ㄥ唽璁惧鍗�"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -61,6 +64,7 @@
                 android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -71,6 +75,7 @@
                 android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔璁剧疆鍩熷悕鍗�"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
 
@@ -82,6 +87,7 @@
                 android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔娴嬭瘯鍗�"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -92,6 +98,7 @@
                 android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔閰嶇疆璁惧淇℃伅鍗�"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -102,6 +109,7 @@
                 android:layout_marginTop="20dp"
                 android:padding="5dp"
                 android:text="鍒朵綔閰嶇疆姘存车鍔熺巼鍗�"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
         </LinearLayout>
 
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
index 1498fd1..2200b50 100644
--- a/app/src/main/res/layout/activity_home.xml
+++ b/app/src/main/res/layout/activity_home.xml
@@ -14,15 +14,15 @@
 
     <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
+        android:layout_height="50dp"
         android:layout_gravity="center"
-        android:layout_marginTop="50dp"
+        android:layout_marginTop="30dp"
         android:orientation="horizontal">
 
         <TextView
             android:id="@+id/home_newCard"
             android:layout_width="0dp"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
             android:layout_weight="1"
             android:gravity="center"
             android:text="鏂板崱寮�鎴�"
@@ -32,7 +32,7 @@
         <TextView
             android:id="@+id/home_recharge"
             android:layout_width="0dp"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
             android:layout_weight="1"
             android:gravity="center"
             android:text="鍏呭��"
@@ -42,7 +42,7 @@
         <TextView
             android:id="@+id/home_redCard"
             android:layout_width="0dp"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
             android:layout_weight="1"
             android:gravity="center"
             android:text="璇诲彇鍗$墖"
@@ -52,7 +52,7 @@
 
     <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
+        android:layout_height="50dp"
         android:layout_gravity="center"
         android:layout_marginTop="30dp"
         android:orientation="horizontal">
@@ -60,7 +60,7 @@
         <TextView
             android:id="@+id/home_admin"
             android:layout_width="0dp"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
             android:layout_weight="1"
             android:gravity="center"
             android:text="绠$悊绯荤粺"
@@ -70,7 +70,7 @@
         <TextView
             android:id="@+id/home_parameter"
             android:layout_width="0dp"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
             android:layout_weight="1"
             android:gravity="center"
             android:text="鍙傛暟璁剧疆"
@@ -80,7 +80,7 @@
         <TextView
             android:id="@+id/home_my"
             android:layout_width="0dp"
-            android:layout_height="wrap_content"
+            android:layout_height="match_parent"
             android:layout_weight="1"
             android:gravity="center"
             android:text="涓汉涓績"
diff --git a/app/src/main/res/layout/activity_my.xml b/app/src/main/res/layout/activity_my.xml
index 3e5c97c..8e4e698 100644
--- a/app/src/main/res/layout/activity_my.xml
+++ b/app/src/main/res/layout/activity_my.xml
@@ -57,12 +57,14 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:text="鍦板潃淇℃伅锛�"
+                    android:textColor="@color/text_selecter"
                     android:textSize="@dimen/text_size" />
 
                 <TextView
                     android:id="@+id/my_adminName"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:textColor="@color/text_selecter"
                     android:textSize="@dimen/text_size" />
 
             </LinearLayout>
@@ -81,6 +83,7 @@
                     android:layout_height="wrap_content"
                     android:layout_toStartOf="@+id/my_newCardOut"
                     android:text="寮�鎴疯褰�"
+                    android:textColor="@color/text_selecter"
                     android:textSize="@dimen/text_size" />
 
                 <TextView
@@ -89,6 +92,7 @@
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"
                     android:text="瀵煎嚭璁板綍"
+                    android:textColor="@color/text_selecter"
                     android:textSize="@dimen/text_size" />
             </RelativeLayout>
 
@@ -104,6 +108,7 @@
                     android:layout_height="wrap_content"
                     android:layout_toStartOf="@+id/my_rechargeOut"
                     android:text="鍏呭�艰褰�"
+                    android:textColor="@color/text_selecter"
                     android:textSize="@dimen/text_size" />
 
                 <TextView
@@ -112,6 +117,7 @@
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"
                     android:text="瀵煎嚭璁板綍"
+                    android:textColor="@color/text_selecter"
                     android:textSize="@dimen/text_size" />
 
             </RelativeLayout>
@@ -123,6 +129,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="15dp"
                 android:text="IP璁剧疆"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -131,6 +138,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="15dp"
                 android:text="鐢ㄦ埛琛ュ崱"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
 
@@ -140,6 +148,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="15dp"
                 android:text="瀵嗙爜璁剧疆"
+                android:textColor="@color/text_selecter"
                 android:textSize="@dimen/text_size" />
 
             <TextView
@@ -148,6 +157,7 @@
                 android:layout_height="wrap_content"
                 android:layout_marginTop="15dp"
                 android:text="鏈繛鎺ユ暟鎹腑蹇�"
+                android:textColor="@color/text_selecter"
                 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 d733b8c..f59a95d 100644
--- a/app/src/main/res/layout/activity_parameter.xml
+++ b/app/src/main/res/layout/activity_parameter.xml
@@ -21,6 +21,7 @@
         android:layout_marginTop="20dp"
         android:padding="5dp"
         android:text="鍩熷悕鍗¤缃�"
+        android:textColor="@color/text_selecter"
         android:textSize="@dimen/text_size" />
 
     <TextView
@@ -31,6 +32,7 @@
         android:layout_marginTop="20dp"
         android:padding="5dp"
         android:text="姘存车鍔熺巼鍗¤缃�"
+        android:textColor="@color/text_selecter"
         android:textSize="@dimen/text_size" />
 
 
@@ -42,6 +44,7 @@
         android:layout_marginTop="20dp"
         android:padding="5dp"
         android:text="鐢甸噺鍗曚环璁剧疆"
+        android:textColor="@color/text_selecter"
         android:textSize="@dimen/text_size" />
 
     <TextView
@@ -52,6 +55,7 @@
         android:layout_marginTop="20dp"
         android:padding="5dp"
         android:text="鍗℃爣璇嗙爜璁剧疆"
+        android:textColor="@color/text_selecter"
         android:textSize="@dimen/text_size" />
 
 </LinearLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_recharge.xml b/app/src/main/res/layout/activity_recharge.xml
index 1cbff10..d48cb50 100644
--- a/app/src/main/res/layout/activity_recharge.xml
+++ b/app/src/main/res/layout/activity_recharge.xml
@@ -160,6 +160,7 @@
         android:id="@+id/recharge_registBtn"
         android:layout_width="match_parent"
         android:layout_height="50dp"
+        android:visibility="gone"
         android:layout_alignParentBottom="true"
         android:background="@color/title_bg"
         android:gravity="center"
diff --git a/app/src/main/res/layout/activity_recharge_detail.xml b/app/src/main/res/layout/activity_recharge_detail.xml
index a923fd1..8412dce 100644
--- a/app/src/main/res/layout/activity_recharge_detail.xml
+++ b/app/src/main/res/layout/activity_recharge_detail.xml
@@ -43,6 +43,7 @@
             android:layout_marginTop="15dp"
             android:text="鍏呭�奸噾棰濓細"
             android:textSize="@dimen/text_size" />
+
         <TextView
             android:id="@+id/red_remainder_blance"
             android:layout_width="match_parent"
@@ -76,5 +77,16 @@
             android:layout_marginTop="15dp"
             android:text="鍗$姸鎬侊細"
             android:textSize="@dimen/text_size" />
+
+        <TextView
+
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:gravity="center"
+            android:text="鍏呭�兼垚鍔燂紒"
+            android:textColor="@color/red"
+            android:textSize="@dimen/text_size" />
     </LinearLayout>
+
 </LinearLayout>
\ No newline at end of file

--
Gitblit v1.8.0