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 中的写卡逻辑 --- henanlibrary/src/main/java/com/dayu/henanlibrary/utils/SocketUtil.java | 145 ++--------------------------------------------- 1 files changed, 8 insertions(+), 137 deletions(-) diff --git a/henanlibrary/src/main/java/com/dayu/henanlibrary/utils/SocketUtil.java b/henanlibrary/src/main/java/com/dayu/henanlibrary/utils/SocketUtil.java index 2698428..0c8c096 100644 --- a/henanlibrary/src/main/java/com/dayu/henanlibrary/utils/SocketUtil.java +++ b/henanlibrary/src/main/java/com/dayu/henanlibrary/utils/SocketUtil.java @@ -1,5 +1,6 @@ package com.dayu.henanlibrary.utils; + import android.content.Context; import android.os.Handler; import android.os.Message; @@ -12,9 +13,6 @@ import java.math.BigInteger; import java.net.InetAddress; import java.net.UnknownHostException; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; import java.util.Random; import java.util.regex.Pattern; @@ -51,45 +49,6 @@ return sb.toString().trim(); } - /** - * 16杩涘埗鐩存帴杞崲鎴愪负瀛楃涓�(鏃犻渶Unicode瑙g爜) - * - * @param hexStr - * @return - */ - public static String hexStr2Str(String hexStr) { - String str = "0123456789ABCDEF"; - char[] hexs = hexStr.toCharArray(); - byte[] bytes = new byte[hexStr.length() / 2]; - int n; - for (int i = 0; i < bytes.length; i++) { - n = str.indexOf(hexs[2 * i]) * 16; - n += str.indexOf(hexs[2 * i + 1]); - bytes[i] = (byte) (n & 0xff); - } - return new String(bytes); - } - - - /** - * 16杩涘埗鐩存帴杞崲鎴愪负瀛楃涓�(鏃犻渶Unicode瑙g爜) - * - * @param hexStr - * @return - */ - public static String hexStr2StrUnicode(String hexStr) { - String str = "0123456789ABCDEF"; - char[] hexs = hexStr.toCharArray(); - byte[] bytes = new byte[hexStr.length() / 2]; - int n; - for (int i = 0; i < bytes.length; i++) { - n = str.indexOf(hexs[2 * i]) * 16; - n += str.indexOf(hexs[2 * i + 1]); - bytes[i] = (byte) (n & 0xff); - } - return new String(bytes); - } - /** * 16杩涘埗鐩存帴杞崲鎴愪负瀛楃涓� @@ -123,53 +82,6 @@ } return result; } - - /** - * 瀛楃涓茶浆鎹㈡垚涓�16杩涘埗瀛楃涓诧紙澶у啓锛� - * - * @param str 瀛楃涓诧紙鍘婚櫎java杞箟瀛楃锛� - * @return 16杩涘埗瀛楃涓� - * @throws Exception - * @explain 鍥犱负java杞箟瀛楃涓插湪java涓湁鐫�鐗规畩鐨勬剰涔夛紝 - * 鎵�浠ュ綋瀛楃涓蹭腑鍖呭惈杞箟瀛楃涓诧紝骞跺皢鍏惰浆鎹㈡垚16杩涘埗鍚庯紝16杩涘埗鍐嶈浆鎴怱tring鏃讹紝浼氬嚭闂锛� - * java浼氬皢鍏跺綋鍋氳浆涔夊瓧绗︿覆鎵�浠h〃鐨勫惈涔夎В鏋愬嚭鏉� - */ - public static String toHexString(String str) throws Exception { - // 鐢ㄤ簬鎺ユ敹杞崲缁撴灉 - String hexString = ""; - // 1.鏍¢獙鏄惁鍖呭惈鐗规畩瀛楃鍐呭 - // java鐗规畩杞箟绗� - // String[] escapeArray = {"\b","\t","\n","\f","\r","\'","\"","\\"}; - String[] escapeArray = {"\b", "\t", "\n", "\f", "\r"}; - // 鐢ㄤ簬鏍¢獙鍙傛暟鏄惁鍖呭惈鐗规畩杞箟绗� - boolean flag = false; - // 杩唬 - for (String esacapeStr : escapeArray) { - // 涓�鐪熷垯鐪� - if (str.contains(esacapeStr)) { - flag = true; - break;// 缁堟寰幆 - } - } - // 鍖呭惈鐗规畩瀛楃 - if (flag) throw new Exception("鍙傛暟瀛楃涓蹭笉鑳藉寘鍚浆涔夊瓧绗︼紒"); - - // 16杩涘埗瀛楃 - char[] hexArray = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; - StringBuilder sb = new StringBuilder(); - // String-->byte[] - byte[] bs = str.getBytes(); - int bit; - for (int i = 0; i < bs.length; i++) { - bit = (bs[i] & 0x0f0) >> 4; - sb.append(hexArray[bit]); - bit = bs[i] & 0x0f; - sb.append(hexArray[bit]); - } - hexString = sb.toString(); - return hexString; - } - /** * @param hex @@ -209,9 +121,6 @@ return decimalValue; } - public static String get10to16(int number) { - return Integer.toHexString(number); - } /** * 鑾峰彇鍏呭�肩鐞嗘満搴忓垪鍙� @@ -231,44 +140,6 @@ e.printStackTrace(); } return xuLie; - } - - /** - * 鍗佸叚杩涘埗鏁伴殧绌轰綅 - * - * @param str - * @return - */ - private static String spaceHex(String str) { - char[] array = str.toCharArray(); - if (str.length() <= 2) return str; - StringBuffer bufferHex = new StringBuffer(); - for (int i = 0; i < array.length; i++) { - int start = i + 1; - if (start % 2 == 0) { - bufferHex.append(array[i]).append(" "); - } else { - bufferHex.append(array[i]); - } - } - return bufferHex.toString(); - } - - /** - * 楂樹綅16杩涘埗杞綆浣� - * - * @param str - * @return - */ - private static String HighLowHex(String str) { - if (str.trim().length() <= 2) return str; - List<String> list = Arrays.asList(str.split(" ")); - Collections.reverse(list); - StringBuffer stringBuffer = new StringBuffer(); - for (String string : list) { - stringBuffer.append(string); - } - return stringBuffer.toString(); } @@ -318,8 +189,8 @@ try { str = Integer.toHexString(number); str = getHexToLenght(str, length); - str = spaceHex(str); - str = HighLowHex(str); + str = HexUtil.spaceHex(str); + str = HexUtil.HighLowHex(str); } catch (Exception e) { e.printStackTrace(); @@ -338,8 +209,8 @@ int number = 0; try { String str = HexUtil.bytesToHex(hexNumber); - str = spaceHex(str); - str = HighLowHex(str); + str = HexUtil.spaceHex(str); + str = HexUtil.HighLowHex(str); number = hexToDecimal(str); } catch (Exception e) { e.printStackTrace(); @@ -416,11 +287,11 @@ String myhost = host.replace("http://", ""); myhost = myhost.replace("https://", ""); // InetAddress inetAddressArr = InetAddress.getByName(myhost); - InetAddress[] inetAddressArrs= InetAddress.getAllByName(myhost); - if (inetAddressArrs.length==1){ + InetAddress[] inetAddressArrs = InetAddress.getAllByName(myhost); + if (inetAddressArrs.length == 1) { message.what = 1; message.obj = inetAddressArrs[0].getHostAddress(); - }else { + } else { message.what = 2; message.obj = inetAddressArrs; -- Gitblit v1.8.0