From f5180b600511d1871635bd364beb5bdd15f6ae88 Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期三, 26 三月 2025 18:05:07 +0800
Subject: [PATCH] feat(nfc): 优化 NFC写卡功能并添加新方法- 在 BaseNfcWriteHelper 中添加了新的 writeData 方法,增加了 isConnect 参数 - 优化了 NativeNfcWriteHelper 中的 writeData 实现,支持选择性连接 NFC - 更新了 NfcWriteAdapter,支持新的 writeData 方法- 修改了 NfcWreatHelper 中的 writeData 方法,使用新的接口 - 优化了 NfcWreatActivity 中的写卡逻辑
---
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivityQHAlone.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 93 insertions(+), 0 deletions(-)
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivityQHAlone.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivityQHAlone.java
new file mode 100644
index 0000000..4177bef
--- /dev/null
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/activity/PasswordCardActivityQHAlone.java
@@ -0,0 +1,93 @@
+package com.dayu.qihealonelibrary.activity;
+
+import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import com.dayu.baselibrary.utils.TipUtil;
+import com.dayu.qihealonelibrary.databinding.ActivityPasswordCardQhaBinding;
+import com.dayu.qihealonelibrary.dbBean.PassWordCardBean;
+
+/**
+ * author: zuo
+ * Date: 2024-03-01
+ * Time: 16:21
+ * 澶囨敞锛氬瘑鐮佸崱璁剧疆鐣岄潰
+ */
+public class PasswordCardActivityQHAlone extends QHAloneBaseActivity {
+
+ ActivityPasswordCardQhaBinding binding;
+
+ PassWordCardBean cardBean;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ binding = ActivityPasswordCardQhaBinding.inflate(LayoutInflater.from(this));
+ setContentView(binding.getRoot());
+ initView();
+ initData();
+ }
+
+
+ private void initData() {
+ PassWordCardBean powerBean = baseDao.passWordCardDao().findFirst();
+ if (powerBean != null) {
+ this.cardBean = powerBean;
+ binding.villageOldNumber.setText(powerBean.getPassWord());
+ } else {
+ cardBean = new PassWordCardBean();
+ binding.villageOldNumber.setText("褰撳墠杩樻湭璁剧疆");
+ }
+ }
+
+ private void initView() {
+ binding.villageOk.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ String data = binding.villageNewNum.getText().toString();
+ if (!TextUtils.isEmpty(data)) {
+ if (data.length() == 12) {
+ cardBean.setPassWord(data);
+ baseDao.passWordCardDao().insert(cardBean);
+ TipUtil.show(PasswordCardActivityQHAlone.this, "淇濆瓨鎴愬姛");
+ initData();
+ } else {
+ TipUtil.show("璇疯緭鍏ユ纭殑12浣嶅瓧绗︾殑16杩涘埗鍗″瘑鐮�");
+ }
+
+ } else {
+ TipUtil.show("璇疯緭鍏ヨ璁剧疆鐨勫崱瀵嗙爜");
+ }
+ }
+ });
+ // 璁剧疆杈撳叆杩囨护鍣�
+ binding.villageNewNum.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ if (!isValidInput(s.toString())) {
+ // 濡傛灉杈撳叆鐨勫瓧绗︿笉绗﹀悎瑕佹眰锛屽垯灏� EditText 鐨勫唴瀹硅缃负鏈�鍚庝竴娆″悎娉曠殑杈撳叆
+ binding.villageNewNum.setText(s.subSequence(0, s.length() - 1).toString().toUpperCase());
+ binding.villageNewNum.setSelection(binding.villageNewNum.getText().length()); // 灏嗗厜鏍囩Щ鍔ㄥ埌鏈熬
+ }
+ }
+ });
+ }
+
+ // 妫�鏌ヨ緭鍏ョ殑瀛楃鏄惁绗﹀悎瑕佹眰
+ private boolean isValidInput(String input) {
+ return input.matches("[0-9a-fA-F]*"); // 鍖呭惈 0-9 鍜� a-f 鐨勫瓧绗�
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0