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