From c1d325aeb5bfc710b1ef4d801619ffb65e0afe90 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 24 十一月 2023 18:03:15 +0800 Subject: [PATCH] 修复当查无此卡状态时的bug --- app/src/main/java/com/dayu/recharge/MyApplication.java | 9 ++-- app/src/main/java/com/dayu/recharge/activity/MyActivity.java | 7 +++ app/src/main/java/com/dayu/recharge/net/SocketNet.java | 6 +- app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java | 20 ++++++--- app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java | 9 ---- app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java | 2 + app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java | 20 ++++++--- app/src/main/res/layout/activity_recharge_detail.xml | 2 app/src/main/res/layout/activity_red_card.xml | 20 ++++++++-- 9 files changed, 60 insertions(+), 35 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java index 4f9b349..da04377 100644 --- a/app/src/main/java/com/dayu/recharge/MyApplication.java +++ b/app/src/main/java/com/dayu/recharge/MyApplication.java @@ -45,6 +45,7 @@ public boolean isConncet = false; private final Timer timer = new Timer(); + @Override public void onCreate() { super.onCreate(); @@ -66,7 +67,7 @@ isAidl = aidl; } - IpBean ipBean; + public IpBean ipBean; /** * 鍒濆鍖朎asySocket @@ -232,9 +233,9 @@ .setSocketAddress(new SocketAddress(ip, port)) // 瀹氫箟娑堟伅鍗忚锛屾柟渚胯В鍐� socket榛忓寘銆佸垎鍖呯殑闂 .setReaderProtocol(new ScoketMessageProtocol()) - .setMaxWriteBytes(1024) - .setMaxReadBytes(1024) - .setRequestTimeout(10 * 1000) + .setMaxWriteBytes(150) + .setMaxReadBytes(150) + .setRequestTimeout(5 * 1000) .build(); // 鍒濆鍖� 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 54db2fd..66804f1 100644 --- a/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/BaseNfcActivity.java @@ -66,16 +66,7 @@ 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) { 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 69f46bc..f2b190a 100644 --- a/app/src/main/java/com/dayu/recharge/activity/MyActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/MyActivity.java @@ -130,6 +130,9 @@ case 1: TipUtil.show(MyActivity.this, "瀵煎嚭鎴愬姛!"); break; + case 3: + TipUtil.show(MyActivity.this, "璁板綍涓虹┖!"); + break; default: TipUtil.show(MyActivity.this, "瀵煎嚭澶辫触!"); break; @@ -161,6 +164,10 @@ } else { listData = baseDao.userCardDao().findByTime(beginTime, endTime); } + if (listData == null || listData.size() == 0) { + handler.sendEmptyMessage(2); + return; + } } catch (Exception e) { e.printStackTrace(); } 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 5b04dc2..964df1c 100644 --- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java +++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java @@ -73,7 +73,7 @@ redCardBinding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(blance) + "鍏�"); redCardBinding.redStatu.setText("鍗$姸鎬侊細" + statu); if (userCard != null) { - redCardBinding.redInitCode.setText("鐢ㄦ埛娉ㄥ唽缂栧彿锛�" + userCard.getInitPeasantCode()); + redCardBinding.redInitCode.setText( userCard.getInitPeasantCode()); Calendar calendar = userCard.getRechargeDate(); if (calendar != null) { int year = calendar.get(Calendar.YEAR); @@ -234,12 +234,18 @@ try { stateText = new StringBuffer(); - //閲戦 - byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); - int balance = SocketUtil.get16to10LowHigh(blanceByte); - //濮撳悕 - byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); - String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + int balance = 0; + String name = null; + try { + //閲戦 + byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); + balance = SocketUtil.get16to10LowHigh(blanceByte); + //濮撳悕 + byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); + name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + } catch (Exception e) { + e.printStackTrace(); + } String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s if ("00".equals(state)) { 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 12031d2..5895e71 100644 --- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java @@ -96,6 +96,7 @@ String initCode = DeviceNumberUtils.getDeviceNumber(); if (TextUtils.isEmpty(initCode)) { TipUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃"); + return; } Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); intent.putExtra("morny", morny); @@ -179,14 +180,19 @@ try { stateText = new StringBuffer(); String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s + int balance = 0; - //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊� - //閲戦 - byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); - int balance = SocketUtil.get16to10LowHigh(blanceByte); - //濮撳悕 - byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); - userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + try { + //鍙湁鍚姩鐘舵�佹墠鑳藉厖鍊� + //閲戦 + byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); + balance = SocketUtil.get16to10LowHigh(blanceByte); + //濮撳悕 + byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); + userName = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + } catch (Exception e) { + e.printStackTrace(); + } binding.rechargeLL.setVisibility(View.VISIBLE); binding.rechargeRegistBtn.setVisibility(View.VISIBLE); binding.rechargeReadLL.setVisibility(View.GONE); diff --git a/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java b/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java index 7d1f2ac..118d523 100644 --- a/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java +++ b/app/src/main/java/com/dayu/recharge/activity/RechargeDetail.java @@ -51,9 +51,11 @@ private void setUserData(String userName, String statu) { int balance = userCard.getBalance(); if (!TextUtils.isEmpty(morny)) { + binding.tip.setText("鍏呭�兼垚鍔燂紒"); balance = userCard.getBalance() + MornyUtil.changeY2F(morny); binding.redRemainderMorny.setText("鍏呭�奸噾棰濓細" + morny + " 鍏�"); } else { + binding.tip.setText("寮�鍗℃垚鍔燂紒"); balance = userCard.getBalance(); binding.redRemainderMorny.setVisibility(View.GONE); } diff --git a/app/src/main/java/com/dayu/recharge/net/SocketNet.java b/app/src/main/java/com/dayu/recharge/net/SocketNet.java index f1dbe8f..dd42aa1 100644 --- a/app/src/main/java/com/dayu/recharge/net/SocketNet.java +++ b/app/src/main/java/com/dayu/recharge/net/SocketNet.java @@ -102,10 +102,10 @@ new Handler().postDelayed(new Runnable() { @Override public void run() { - IpBean ipBean = BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst(); + AdminDataBean adminData = BaseDaoSingleton.getInstance(MyApplication.myApplication).adminDao().findFirst(); - if (ipBean != null && adminData != null) { - MyApplication.myApplication.initMachineRequestBean(ipBean.getIp(), ipBean.getPort(), adminData.getAddressCode()); + if (MyApplication.myApplication.ipBean != null && adminData != null) { + MyApplication.myApplication.initMachineRequestBean(MyApplication.myApplication.ipBean.getIp(), MyApplication.myApplication.ipBean.getPort(), adminData.getAddressCode()); } } }, 500); diff --git a/app/src/main/res/layout/activity_recharge_detail.xml b/app/src/main/res/layout/activity_recharge_detail.xml index 8412dce..3608404 100644 --- a/app/src/main/res/layout/activity_recharge_detail.xml +++ b/app/src/main/res/layout/activity_recharge_detail.xml @@ -79,7 +79,7 @@ android:textSize="@dimen/text_size" /> <TextView - + android:id="@+id/tip" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" diff --git a/app/src/main/res/layout/activity_red_card.xml b/app/src/main/res/layout/activity_red_card.xml index 985f6d9..07f0256 100644 --- a/app/src/main/res/layout/activity_red_card.xml +++ b/app/src/main/res/layout/activity_red_card.xml @@ -34,13 +34,25 @@ android:text="鐢ㄦ埛濮撳悕锛�" android:textSize="@dimen/text_size" /> - <TextView - android:id="@+id/red_initCode" + <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" - android:text="鐢ㄦ埛娉ㄥ唽缂栧彿锛�" - android:textSize="@dimen/text_size" /> + android:orientation="horizontal"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="鐢ㄦ埛娉ㄥ唽缂栧彿锛�" + android:textSize="@dimen/text_size" /> + + <TextView + android:id="@+id/red_initCode" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="" + android:textSize="@dimen/text_size" /> + </LinearLayout> <TextView -- Gitblit v1.8.0