From dded3453219dae823e915157716026989a0ee776 Mon Sep 17 00:00:00 2001
From: lizhanwei <Dana_Lee1016@126.com>
Date: 星期二, 14 一月 2020 15:53:07 +0800
Subject: [PATCH] 删除MainActivity的MainViewModel示例调用;单机训练和联网考试加入speed显示;速度保留小数点后两位

---
 app/src/main/java/safeluck/drive/evaluation/Constant.java                      |    1 
 app/src/main/java/safeluck/drive/evaluation/app.java                           |    7 +++
 app/src/main/java/safeluck/drive/evaluation/MainActivity.java                  |    9 ----
 app/src/main/res/values/strings.xml                                            |    2 
 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java        |   36 ++++++++++++-----
 app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java |   27 +++++++++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java          |    2 -
 7 files changed, 60 insertions(+), 24 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java
index 2f5aec6..a10d45f 100644
--- a/app/src/main/java/safeluck/drive/evaluation/Constant.java
+++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java
@@ -65,5 +65,6 @@
     public static final int HAS_BEEN_START_EXAM = 1;
     public static final int REAL_TIME_CAR_POS = 0x000E;
     public static final String REAL_TIME_POS_CAR_TOPIC = "real_time_car_pos_topic";
+    public static final String BIND_SPEED_TOPIC = "BIND_SPEED_TOPIC";
     public static String exam_enter_exitdata="exam_enter_exitdata";
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
index cea004a..4584285 100644
--- a/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
+++ b/app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -163,15 +163,6 @@
 
 
         MyLog.i(TAG, "onCreate");
-        MainViewModel mainViewModel = ViewModelProviders.of(this).get(MainViewModel.class);
-        mainViewModel.getJson().observe(this, new Observer<String>() {
-            @Override
-            public void onChanged(@Nullable String json) {
-                Toast.makeText(MainActivity.this, json, Toast.LENGTH_SHORT).show();
-                MyLog.i(TAG, "json==========" + json + " ThreadName:" + Thread.currentThread().getName());
-
-            }
-        });
 
         //鍔犺浇鏍笷ragment
         if (findFragment(HomeFragment.class) == null) {
diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java
index c475164..4d44a33 100644
--- a/app/src/main/java/safeluck/drive/evaluation/app.java
+++ b/app/src/main/java/safeluck/drive/evaluation/app.java
@@ -207,6 +207,13 @@
                 WorkManager.getInstance(getApplicationContext()).enqueue(examStatusWorker);
                 break;
             case Constant.REAL_TIME_CAR_POS:
+                try {
+                    JSONObject jsSpeed = new JSONObject(json);
+                    double speed = jsSpeed.getDouble("speed");
+                    CEventCenter.dispatchEvent(Constant.BIND_SPEED_TOPIC,cmd,0,speed);
+                } catch (JSONException e) {
+                    e.printStackTrace();
+                }
                 CEventCenter.dispatchEvent(Constant.REAL_TIME_POS_CAR_TOPIC,cmd,0,json);
                 break;
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
index f71e22f..a4c77f5 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/MapFragment.java
@@ -25,8 +25,6 @@
 import com.anyun.exam.lib.MyLog;
 import com.google.gson.Gson;
 
-import org.json.JSONArray;
-import org.json.JSONObject;
 
 import java.util.List;
 
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
index 5a435cc..4d648e7 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -1,5 +1,6 @@
 package safeluck.drive.evaluation.fragment;
 
+import android.content.Context;
 import android.os.Bundle;
 
 import android.os.Handler;
@@ -40,6 +41,8 @@
 import safeluck.drive.evaluation.adapter.ScoreAdapter;
 import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
 import safeluck.drive.evaluation.bean.ScoreBean;
+import safeluck.drive.evaluation.cEventCenter.CEventCenter;
+import safeluck.drive.evaluation.cEventCenter.ICEventListener;
 import safeluck.drive.evaluation.customview.ArrowView;
 import safeluck.drive.evaluation.customview.HouseView;
 
@@ -66,8 +69,10 @@
     private ExamStatusViewModel examStatusViewModel;
     private static final int ADD_DATA = 1;
     private TextView tv_speed;
+    private double speed=0.0;
 
     private List<ScoreBean> mArrayList = new ArrayList<>();
+    private static final int SPEED_DATA = 2;
 
     public static SupportFragment newInstance() {
         return new NetWorkTrainFragment();
@@ -82,6 +87,9 @@
                 av_park.setColor(whatPaintColor(examStatusList.get(2)));
                 av_curve.setColor(whatPaintColor(examStatusList.get(3)));
                 av_zhijiao.setColor(whatPaintColor(examStatusList.get(4)));
+            }
+            if (msg.what == SPEED_DATA){
+                tv_speed.setText(getResources().getString(R.string.speed,speed));
             }
             return false;
         }
@@ -204,7 +212,7 @@
         houseView = view.findViewById(R.id.hv);
 
         tv_speed = view.findViewById(R.id.tv_speed);
-        tv_speed.setText(getResources().getString(R.string.speed,56.5));
+        tv_speed.setText(getResources().getString(R.string.speed,speed));
 
         view.findViewById(R.id.btn_return).setOnClickListener(this);
         mListView = view.findViewById(R.id.lv);
@@ -264,5 +272,22 @@
         }
     }
 
+    private ICEventListener icEventListener = new ICEventListener() {
+        @Override
+        public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
+            speed  = (double)obj;
+            mHandler.obtainMessage(SPEED_DATA).sendToTarget();
+        }
+    };
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_SPEED_TOPIC);
+    }
 
+    @Override
+    public void onDetach() {
+        super.onDetach();
+        CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_SPEED_TOPIC);
+    }
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
index 49ce3c7..ddb9b01 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -69,11 +69,12 @@
 
     private ExamStatusViewModel examStatusViewModel;
     private static final int ADD_DATA = 1;
+    private static final int SPEED_DATA = 2;
 
     private List<ScoreBean> mArrayList = new ArrayList<>();
     private View tv_stop;
     private TextView tv_speed;
-
+    private double speed=0.0;
 
     private Handler mHandler = new Handler(new Handler.Callback() {
         @Override
@@ -85,20 +86,14 @@
                 av_curve.setColor(whatPaintColor(examStatusList.get(3)));
                 av_zhijiao.setColor(whatPaintColor(examStatusList.get(4)));
             }
+            if (msg.what == SPEED_DATA){
+                tv_speed.setText(getResources().getString(R.string.speed,speed));
+            }
             return false;
         }
     });
 
 
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-    }
-
-    @Override
-    public void onDetach() {
-        super.onDetach();
-    }
 
     public static SupportFragment newInstance(){
         return new TrainFragment();
@@ -175,7 +170,7 @@
         houseView = view.findViewById(R.id.hv);
 
         tv_speed = view.findViewById(R.id.tv_speed);
-        tv_speed.setText(getResources().getString(R.string.speed,123.4));
+        tv_speed.setText(getResources().getString(R.string.speed,speed));
         view.findViewById(R.id.btn_return).setOnClickListener(this);
         mListView = view.findViewById(R.id.lv);
         tv_stop = view.findViewById(R.id.tv_stop);
@@ -283,4 +278,23 @@
                 break;
         }
     }
+
+    private ICEventListener icEventListener = new ICEventListener() {
+        @Override
+        public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
+            speed  = (double)obj;
+            mHandler.obtainMessage(SPEED_DATA).sendToTarget();
+        }
+    };
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_SPEED_TOPIC);
+    }
+
+    @Override
+    public void onDetach() {
+        super.onDetach();
+        CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_SPEED_TOPIC);
+    }
 }
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b5e88d3..3b1f022 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -24,6 +24,6 @@
     <string name="rtk_config_sn">SN:%1$s</string>
     <string name="rtk_connect_status">RTK杩炴帴鐘舵�侊細%1$d</string>
     <string name="rtk_config_login">RTK鐧诲綍缁撴灉锛�%1$d</string>
-    <string name="speed">杞﹂��:%1$.1fkm/h</string>
+    <string name="speed">杞﹂��:%1$.2fkm/h</string>
     <string name="licheng">宸茶椹�:451km</string>
 </resources>

--
Gitblit v1.8.0