From ebc06a3ae3a42bd6ac1359a59c55d5e6f1a0e2f0 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 26 三月 2024 16:18:08 +0800 Subject: [PATCH] 优化通讯 写卡界面添加二次确认 优化用户写卡逻辑,提高写卡速度。 --- app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java | 58 ++++++++++++++++++++++++++++++---------------------------- 1 files changed, 30 insertions(+), 28 deletions(-) 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..57b9d9b 100644 --- a/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java +++ b/app/src/main/java/com/dayu/recharge/activity/RechargeActivity.java @@ -65,7 +65,7 @@ try { this.intent = intent; - userCard = NfcReadHelper.getInstence(intent).getUserCardData(); + userCard = NfcReadHelper.getInstence(intent, this).getUserCardData(); if (userCard != null) { ProgressDialog.show(this); selectBalance(userCard.getInitPeasantCode()); @@ -88,23 +88,21 @@ e.printStackTrace(); CrashReport.postCatchedException(e); } - binding.rechargeRegistBtn.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String morny = binding.rechargeWater.getText().toString(); - if (!TextUtils.isEmpty(morny)) { - String initCode = DeviceNumberUtils.getDeviceNumber(); - if (TextUtils.isEmpty(initCode)) { - TipUtil.show(RechargeActivity.this, "璁惧娉ㄥ唽鍙蜂负绌猴紝璇峰厛璁剧疆IP鍜岀鐞嗗憳鍦板潃"); - } - Intent intent = new Intent(RechargeActivity.this, NFCWreatActivity.class); - intent.putExtra("morny", morny); - intent.putExtra("userName", userName); - intent.putExtra("userCard", userCard); - startActivity(intent); - } else { - TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級"); + binding.rechargeRegistBtn.setOnClickListener(v -> { + String morny = binding.rechargeWater.getText().toString(); + if (!TextUtils.isEmpty(morny)) { + 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); + intent.putExtra("userName", userName); + intent.putExtra("userCard", userCard); + startActivity(intent); + } else { + TipUtil.show(RechargeActivity.this, "璇疯緭鍏ュ厖鍊奸噾棰濓紙鍏冿級"); } }); } @@ -135,7 +133,6 @@ if (!s.toString().substring(1, 2).equals(".")) { editText.setText(s.subSequence(0, 1)); editText.setSelection(1); - return; } } } @@ -170,23 +167,28 @@ requestBean.setInitCode(initCode); requestBean.setInitPeasantCode(initPeasantCode); requestBean.setXuLie(SocketUtil.getXuLie(this)); - SocketNet.getInstance().sendTestMessage(requestBean.pack(), new SocketCallBack() { + SocketNet.getInstance().sendTestMessage(requestBean.pack(),"94", new SocketCallBack() { @Override public void onSocketResponse(SocketData readData) { ProgressDialog.dismiss(); if (CRC8.isCRC8(readData.getOriginDataBytes())) { - StringBuffer stateText = null; + StringBuffer stateText ; 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); @@ -207,7 +209,7 @@ stateText.append("璇ュ崱宸茶绂佺敤"); userCard.setState("01"); userCard.setBalance(balance); - userFlag = WriteCardUtils.setUser(intent, userCard); + userFlag = WriteCardUtils.setUser(intent, userCard, RechargeActivity.this); } else if ("02".equals(state)) { stateText.append("闅跺睘淇℃伅涓嶇"); } else if ("03".equals(state)) { -- Gitblit v1.8.0