From ead127e532a8baf80955a6d479f5173aa2b01b8a Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期二, 18 二月 2020 11:46:41 +0800 Subject: [PATCH] 所有消息完整定义;修改MessageManager通过反射新建服务器消息对象 --- app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java | 20 + app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0201.java | 18 + app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8100.java | 26 ++ app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java | 58 +++++ app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java | 23 ++ app/src/main/java/safeluck/drive/evaluation/platformMessage/utils/MessageManager.java | 97 +++----- app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java | 41 +++ app/src/main/res/layout/layout_tcpclient.xml | 57 +++++ app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java | 15 + app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8001.java | 25 ++ app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java | 63 +++++ app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0101.java | 30 ++ app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java | 66 ++++- app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java | 90 ++++++++ 14 files changed, 553 insertions(+), 76 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java index 03fb5f8..092b3c4 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java @@ -27,6 +27,7 @@ import safeluck.drive.evaluation.im.MessageProcessor; import safeluck.drive.evaluation.platformMessage.GainStuMessage; import safeluck.drive.evaluation.platformMessage.JKClientCommonMessage; +import safeluck.drive.evaluation.platformMessage.JKMessage0101; import safeluck.drive.evaluation.platformMessage.JKRegisterMessage; import safeluck.drive.evaluation.platformMessage.RegisterMessage; import safeluck.drive.evaluation.im.IMSClientBootstrap; @@ -74,6 +75,13 @@ btn_connect = view.findViewById(R.id.btn_connect); btn_send = view.findViewById(R.id.btn_send); + view.findViewById(R.id.btn_register).setOnClickListener(this); + view.findViewById(R.id.btn_auth).setOnClickListener(this); + view.findViewById(R.id.btn_gain).setOnClickListener(this); + view.findViewById(R.id.btn_start_exam).setOnClickListener(this); + view.findViewById(R.id.btn_stop_exam).setOnClickListener(this); + view.findViewById(R.id.btn_fail).setOnClickListener(this); + view.findViewById(R.id.btn_gps).setOnClickListener(this); btn_send.setOnClickListener(this); btn_connect.setOnClickListener(this); @@ -146,9 +154,39 @@ String strbcd=ByteUtil.bcd2Str(ByteUtil.str2Bcd("13021245")); Log.i(TAG, "onClick: strbcd="+strbcd); +// JKRegisterMessage jkRegisterMessage = new JKRegisterMessage(); +// jkRegisterMessage.setMessageLen(55); +//// jkRegisterMessage.phone = "13021245"; +// jkRegisterMessage.phone = "0008618513021245"; +// jkRegisterMessage.proviceid = 23; +// jkRegisterMessage.messageId = 0x100; +// jkRegisterMessage.protocalVer = 235; +// jkRegisterMessage.cityid = 1; +// jkRegisterMessage.imei = "460123874561"; +// jkRegisterMessage.model = "123"; +// jkRegisterMessage.sn = "0314200100000004"; +// +// Log.i(TAG, "onClick: msg len "+jkRegisterMessage.getMessageLen()+" "+ jkRegisterMessage.props.value); +// byte[] str = jkRegisterMessage.toBytes(); +// MessageProcessor.getInstance().sendMessage(str); +// Log.i(TAG, "onClick: "+ BytesUtils.bytesToHexString(str)+" ============"); + + JKClientCommonMessage jkClientCommonMessage =new JKClientCommonMessage(); + jkClientCommonMessage.setMessageLen(5); + jkClientCommonMessage.messageId = 0x8100; + jkClientCommonMessage.protocalVer = 235; +// jkClientCommonMessage.phone = "13021245"; + jkClientCommonMessage.respMessageId = "8001"; + jkClientCommonMessage.respNo = 15; + jkClientCommonMessage.result =1; + String str1 = jkClientCommonMessage.toString(); + + Log.i(TAG, "onClick1: "+ str1+" ============"); + break; + case R.id.btn_register: + JKRegisterMessage jkRegisterMessage = new JKRegisterMessage(); jkRegisterMessage.setMessageLen(55); -// jkRegisterMessage.phone = "13021245"; jkRegisterMessage.phone = "0008618513021245"; jkRegisterMessage.proviceid = 23; jkRegisterMessage.messageId = 0x100; @@ -162,18 +200,20 @@ byte[] str = jkRegisterMessage.toBytes(); MessageProcessor.getInstance().sendMessage(str); Log.i(TAG, "onClick: "+ BytesUtils.bytesToHexString(str)+" ============"); - - JKClientCommonMessage jkClientCommonMessage =new JKClientCommonMessage(); - jkClientCommonMessage.setMessageLen(5); - jkClientCommonMessage.messageId = 0x8100; - jkClientCommonMessage.protocalVer = 235; -// jkClientCommonMessage.phone = "13021245"; - jkClientCommonMessage.respMessageId = "8001"; - jkClientCommonMessage.respNo = 15; - jkClientCommonMessage.result =1; - String str1 = jkClientCommonMessage.toString(); - - Log.i(TAG, "onClick1: "+ str1+" ============"); + break; + case R.id.btn_auth: + JKMessage0101 jkMessage0101 = new JKMessage0101(); +// jkMessage0101.des = + break; + case R.id.btn_gain: + break; + case R.id.btn_start_exam: + break; + case R.id.btn_fail: + break; + case R.id.btn_gps: + break; + case R.id.btn_stop_exam: break; } } diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java new file mode 100644 index 0000000..97d16df --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/AttachInfo.java @@ -0,0 +1,20 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.Hex; +import com.safeluck.aykj.annotation.Int8; +import com.safeluck.aykj.annotation.Length; +import com.safeluck.aykj.annotation.Order; +import com.safeluck.aykj.message.BinMessageBase; + +public class AttachInfo extends BinMessageBase { + @Order(1) + @Int8 + public int attach_id; + @Order(2) + @Int8 + public int attach_length; + @Order(3) + @Length(lengthField="attach_length") + @Hex + public String attach_data; +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java new file mode 100644 index 0000000..9184539 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0002.java @@ -0,0 +1,15 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.Hex; +import com.safeluck.aykj.annotation.Int32; +import com.safeluck.aykj.annotation.Length; +import com.safeluck.aykj.annotation.Order; + +public class JKMessage0002 extends JK2019MessageBase { + /** + * 娑堟伅ID锛�0x0002銆� + * 瀹㈡埛绔湪娌℃湁姝e父涓氬姟娑堟伅鐨勬儏鍐典笅搴旀寜鐓у弬鏁拌缃殑鏃堕棿闂撮殧瀹氭湡鍚戞湇鍔″櫒绔彂閫佸績璺虫秷鎭互缁存寔閾捐矾鐨勮繛鎺ワ紝 + * 瀹㈡埛绔績璺虫秷鎭綋鏁版嵁涓虹┖銆� + */ + +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0101.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0101.java new file mode 100644 index 0000000..886e866 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0101.java @@ -0,0 +1,30 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.*; + +public class JKMessage0101 extends JK2019MessageBase { + @Order(1) + @Int32 + public int timestamp; + @Order(2) + @Length(8) + @Hex + public String des; + /**** + *娑堟伅ID锛�0x0101 + * 缁堢浣跨敤姝ゆ秷鎭棩甯哥櫥褰曞埌骞冲彴锛屽钩鍙板洖澶嶆湇鍔″櫒閫氱敤搴旂瓟銆� + + * 0 + * 鏃堕棿鎴� + * DWORD + * 浠庢牸鏋楀▉娌绘椂闂�1970骞�01鏈�01鏃�00鏃�00鍒�00绉掕捣鑷崇幇鍦ㄧ殑鎬荤鏁� + * + * + * + * + * 瀵嗘枃娈� + * BYTE[8] + * 鐢ㄦ敞鍐岃幏鍙栫殑DES瀵嗙爜锛屽涓婇潰鐨勬椂闂存埑鍔犲瘑 + */ + +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0201.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0201.java new file mode 100644 index 0000000..0e483fd --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0201.java @@ -0,0 +1,18 @@ +package safeluck.drive.evaluation.platformMessage; + +import androidx.annotation.IntegerRes; + +import com.safeluck.aykj.annotation.Ascii; +import com.safeluck.aykj.annotation.Int8; +import com.safeluck.aykj.annotation.Length; +import com.safeluck.aykj.annotation.Order; + +public class JKMessage0201 extends JK2019MessageBase { + @Order(1) + @Length(16) + @Ascii + public String id; + @Order(2) + @Int8 + public int currentExam; +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java new file mode 100644 index 0000000..70a6475 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0202.java @@ -0,0 +1,41 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.*; + +import java.util.Date; + +public class JKMessage0202 extends JK2019MessageBase { + + @Order(1) + @Length(18) + @Ascii + public String ID; + @Order(2) + @BcdDateTime + public Date timeBCD; + @Order(3) + @Int32 + public int exam_id; + @Order(4) + @Int8 + public int curr_exam; + + /** + * 韬唤璇佸彿鐮� + * BYTE[18] + * 韬唤璇佸彿鐮� + * + * 鑰冭瘯寮�濮嬫椂闂� + * BCD[6] + * YYMMDDhhmmss + * + * 鑰冭瘯ID + * DWORD + * 鍞竴鑰冭瘯ID鏍囧織 + * + * + * 鑰冭瘯绉戠洰 + * BYTE + * 0-鍦鸿�冿紝1-璺�� + */ +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java new file mode 100644 index 0000000..6d4c71f --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0203.java @@ -0,0 +1,63 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.Ascii; +import com.safeluck.aykj.annotation.BcdDateTime; +import com.safeluck.aykj.annotation.Int32; +import com.safeluck.aykj.annotation.Int8; +import com.safeluck.aykj.annotation.Length; +import com.safeluck.aykj.annotation.Order; + +import java.util.Date; + +public class JKMessage0203 extends JK2019MessageBase { + @Order(1) + @Length(18) + @Ascii + public String ID; + @Order(2) + @BcdDateTime + public Date timeBCD; + @Order(3) + @Int32 + public int exam_id; + + @Order(4) + @Int8 + public int fail_item_id; + @Order(5) + @Int8 + public int fail_score; + //TODO + @Order(6) + @Length(0) + @Ascii + public String fail_reason; + + /** + * 韬唤璇佸彿鐮� + * BYTE[18] + * 韬唤璇佸彿鐮� + * + * 鏃堕棿 + * BCD[6] + * YYMMDDhhmmss + * + * 鑰冭瘯ID + * DWORD + * 鍞竴鑰冭瘯ID鏍囧織 + * + * 鎵e垎椤圭洰 + * BYTE + * 鎵e垎椤圭洰缂栧彿 + * + * + * 鎵e垎鍒嗘暟 + * BYTE + * 鎵e垎鍒嗘暟锛�0-100锛� + * + * + * 鎵e垎鍘熷洜 + * STRING + * 鏈�澶�254byte + */ +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java new file mode 100644 index 0000000..0c5c7ea --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0204.java @@ -0,0 +1,58 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.Ascii; +import com.safeluck.aykj.annotation.BcdDateTime; +import com.safeluck.aykj.annotation.Int32; +import com.safeluck.aykj.annotation.Int8; +import com.safeluck.aykj.annotation.Length; +import com.safeluck.aykj.annotation.Order; + +import java.util.Date; + +public class JKMessage0204 extends JK2019MessageBase { + + public static final int SUCC_STOP = 0; + public static final int JUDGE_UNFAIR = 1; + public static final int TERMIAL_STOP = 2; + + @Order(1) + @Length(18) + @Ascii + public String ID; + @Order(2) + @BcdDateTime + public Date timeBCD; + @Order(3) + @Int32 + public int exam_id; + @Order(4) + @Int8 + public int score; + @Order(5) + @Int8 + public int stop; + + + + /** + * 韬唤璇佸彿鐮� + * BYTE[18] + * 韬唤璇佸彿鐮� + * 鑰冭瘯缁撴潫鏃堕棿 + * BCD[6] + * YYMMDDhhmmss + * 鑰冭瘯ID + * DWORD + * 鍞竴鑰冭瘯ID鏍囧織 + * 鑰冭瘯鍒嗘暟 + * BYTE + * 鎵e垎鍒嗘暟锛�0-100锛� + * + * + * 缁撴潫鍘熷洜 + * BYTE + * 0--鑰冭瘯瀹屾垚缁撴潫 + * 1--缁煎悎璇勫垽涓嶅悎鏍硷紝缁堢鑷姩缁撴潫鑰冭瘯 + * 2--缁堢涓诲姩鎿嶄綔缁撴潫 + */ +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java new file mode 100644 index 0000000..ef6260b --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage0206.java @@ -0,0 +1,90 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.*; + +import safeluck.drive.evaluation.platformMessage.decoder.JWD; + +public class JKMessage0206 extends JK2019MessageBase { + @Order(1) + @Int32 + public int alert; + @Order(2) + @Int32 + public int status; + @Order(3) + @JWD + public double wd;//绾害 + @Order(4) + @JWD + public double jd;//缁忓害 + + @Order(5) + @Int16 + public int gaoCheng; + @Order(6) + @Int16 + public int speed; + @Order(7) + @Int16 + public int fangXiang; + + @Order(8) + @Hex + public String timeBCD; + + @Order(9) + @Int8 + public int rf; + @Order(10) + @Int8 + public int length; + @Order(11) + @Length(lengthField = "length") + @UTF8 + public String json; + + @Order(12) + @Message + public AttachInfo attachInfo; + /** + * 鎶ヨ + * DWORD + * 淇濈暀锛屾殏鏈畾涔� + * + * 鐘舵�� + * DWORD + * 淇濈暀锛屾殏鏈畾涔� + * + * 绾害 + * DWORD + * 浠ュ害涓哄崟浣嶇殑绾害鍊间箻浠�10鐨�6娆℃柟锛岀簿纭埌鐧句竾鍒嗕箣涓�搴� + * + * 缁忓害 + * DWORD + * 浠ュ害涓哄崟浣嶇殑绾害鍊间箻浠�10鐨�6娆℃柟锛岀簿纭埌鐧句竾鍒嗕箣涓�搴� + * + * 楂樼▼ + * WORD + * 娴锋姤楂樺害锛岀背 + * + * 閫熷害 + * WORD + * 鍗槦瀹氫綅閫熷害锛�1/10km/h + * + * 鏂瑰悜 + * WORD + * 0-359锛屾鍖椾负0锛岄『鏃堕拡 + * + * 鏃堕棿 + * BCD[8] + * YY-MM-DD-hh-mm-ss-ff锛堝寳浜椂闂达級 + * + * 瑙g姸鎬� + * BYTE + * 0-鏃犳晥瑙o紝1-鍗曠偣瀹氫綅瑙o紱2-浼窛宸垎锛�3-鍥哄畾瑙o紝4-娴姩瑙� + * + * 闀垮害 + * WORD + * 鍦扮悊鍧愭爣鏁版嵁娈甸暱搴� + */ +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8001.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8001.java new file mode 100644 index 0000000..957a01a --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8001.java @@ -0,0 +1,25 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.Hex; +import com.safeluck.aykj.annotation.Int16; +import com.safeluck.aykj.annotation.Int8; +import com.safeluck.aykj.annotation.Length; +import com.safeluck.aykj.annotation.Order; + +public class JKMessage8001 extends JK2019MessageBase { + public static int SUCCESS=0; + public static int FAIL=1; + public static int ERROR_MSG=2; + public static int NOT_SUPPORT=3; + + @Order(1) + @Int16 + public int respNo; + @Order(2) + @Length(2) + @Hex + public String respMessageId; + @Order(3) + @Int8 + public int result; +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8100.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8100.java new file mode 100644 index 0000000..6ffb874 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8100.java @@ -0,0 +1,26 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.*; + +public class JKMessage8100 extends JK2019MessageBase { + + + public static int SUCCESS=0; + public static int FAIL=1; + + + @Order(1) + @Int16 + public int resp_no; + @Order(2) + @Int8 + public int result; + + + //鍙湁鍦ㄦ垚鍔熸椂 result ==0 鎵嶈繑鍥炰互涓嬪唴瀹� TODO Length8 杩欎釜瀛楄妭鏈夊彲鑳戒笉瀛樺湪 + @Order(3) + @Length(8) + @Hex + public String des; + +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java new file mode 100644 index 0000000..82363a3 --- /dev/null +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/JKMessage8201.java @@ -0,0 +1,23 @@ +package safeluck.drive.evaluation.platformMessage; + +import com.safeluck.aykj.annotation.*; + +public class JKMessage8201 extends JK2019MessageBase { + @Order(1) + @Int8 + public int result; + @Order(2) + @Length(18) + @Ascii + public String ID;//韬唤璇佸彿鐮� + @Order(3) + @Length(20) + @Ascii + public String name; + + //TODO Length(0) 琛ㄧず浠�涔堟剰鎬� + @Order(4) + @Length(0) + @Ascii + public String url; +} diff --git a/app/src/main/java/safeluck/drive/evaluation/platformMessage/utils/MessageManager.java b/app/src/main/java/safeluck/drive/evaluation/platformMessage/utils/MessageManager.java index 8f4a78d..f147d18 100644 --- a/app/src/main/java/safeluck/drive/evaluation/platformMessage/utils/MessageManager.java +++ b/app/src/main/java/safeluck/drive/evaluation/platformMessage/utils/MessageManager.java @@ -1,63 +1,34 @@ -//package safeluck.drive.evaluation.platformMessage.utils; -// -//import com.safeluck.aykj.decoder.BitStateCoder; -//import com.safeluck.aykj.decoder.Int16Coder; -//import com.safeluck.aykj.utils.BitState; -// -//import safeluck.drive.evaluation.platformMessage.JK2019MessageBase; -// -///** -// * Created by zhouwei on 2016/12/7. -// */ -// -//public final class MessageManager { -// -// public static JK2019MessageBase get(String cmd) { -// String head = cmd.substring(4,8); -// String classname = "aykj.message.jt808_2016.server.JTMessage"+head; -// if("0900".equals(head)||"8900".equals(head)) -// classname = "aykj.message.jt808_2016.JTMessage"+head; -// Class c = null; -// try { -// c = Class.forName(classname); -// } catch (ClassNotFoundException e) { -// classname = "aykj.message.jt808_2016.device.JTMessage"+head; -// try { -// c = Class.forName(classname); -// } catch (ClassNotFoundException e1) { -//// c = JTMessageUnknown.class; -// } -// } -// try { -// -// JK2019MessageBase ret = (JK2019MessageBase)c.newInstance(); -// ret.parse(cmd); -// if(ret.messageId==0x8900||ret.messageId==0x0900){ -//// JTMessageExtend ext = (JTMessageExtend)ret; -// if(ret.messageId==0x8900) -//// classname = "aykj.message.jt808_2016.server.ExtendMessage"+ String.format("%04X", ext.extend_id); -// else -//// classname = "aykj.message.jt808_2016.device.ExtendMessage"+ String.format("%04X", ext.extend_id); -// try { -// c = Class.forName(classname); -// } catch (ClassNotFoundException e) { -// classname = "aykj.message.jt808_2016.device.JTMessage"+head; -// try { -// c = Class.forName(classname); -// } catch (ClassNotFoundException e1) { -//// c = JTMessageUnknown.class; -// } -// } -// -// JK2019MessageBase ext_ret = (JK2019MessageBase)c.newInstance(); -// ext_ret.parse(cmd); -// ret = ext_ret; -// } -// return ret; -// } catch (InstantiationException e) { -// throw new RuntimeException(e); -// } catch (IllegalAccessException e) { -// throw new RuntimeException(e); -// } -// } -//} +package safeluck.drive.evaluation.platformMessage.utils; + +import com.safeluck.aykj.decoder.BitStateCoder; +import com.safeluck.aykj.decoder.Int16Coder; +import com.safeluck.aykj.utils.BitState; + +import safeluck.drive.evaluation.platformMessage.JK2019MessageBase; + + +public final class MessageManager { + + public static JK2019MessageBase get(String cmd) { + String head = cmd.substring(4,8); + String classname = "safeluck.drive.evaluation.platformMessage.JKMessage"+head; + + Class c = null; + try { + c = Class.forName(classname); + } catch (ClassNotFoundException e) { + + } + try { + + JK2019MessageBase ret = (JK2019MessageBase)c.newInstance(); + ret.parse(cmd); + + return ret; + } catch (InstantiationException e) { + throw new RuntimeException(e); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } +} diff --git a/app/src/main/res/layout/layout_tcpclient.xml b/app/src/main/res/layout/layout_tcpclient.xml index e166eed..d5c882a 100644 --- a/app/src/main/res/layout/layout_tcpclient.xml +++ b/app/src/main/res/layout/layout_tcpclient.xml @@ -50,7 +50,63 @@ <androidx.appcompat.widget.AppCompatEditText android:layout_width="match_parent" android:layout_height="wrap_content" + android:visibility="gone" android:id="@+id/sendtxt"/> + <TableLayout + android:layout_width="match_parent" + android:layout_height="wrap_content"> + <TableRow> + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="10dp" + android:id="@+id/btn_register" + android:text="娉ㄥ唽"/> + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="10dp" + android:id="@+id/btn_auth" + android:text="閴存潈"/> + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="10dp" + android:id="@+id/btn_gain" + android:text="鑾峰彇淇℃伅"/> + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="10dp" + android:id="@+id/btn_start_exam" + android:text="寮�濮嬭�冭瘯"/> + + </TableRow> + <TableRow> + + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="10dp" + android:id="@+id/btn_fail" + android:text="鎵e垎椤圭洰"/> + + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="10dp" + android:id="@+id/btn_gps" + android:text="浣嶇疆涓婃姤"/> + <Button + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="10dp" + android:id="@+id/btn_stop_exam" + android:text="缁撴潫鑰冭瘯"/> + + </TableRow> + </TableLayout> + <Button android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -62,6 +118,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/darker_gray" + android:visibility="gone" android:textSize="19sp" android:id="@+id/content" android:text="flskajf"/> -- Gitblit v1.8.0