From bb00b0257227d4d6397caa78143292822df13db8 Mon Sep 17 00:00:00 2001 From: lizhanwei <Dana_Lee1016@126.com> Date: 星期一, 16 三月 2020 10:32:24 +0800 Subject: [PATCH] 状态栏添加卫星颗数和解状态;App_status表添加qf和sat_num字段 --- app/src/main/java/safeluck/drive/evaluation/Constant.java | 1 app/src/main/java/safeluck/drive/evaluation/app.java | 50 ++++++++++++++++ app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java | 19 ++++++ app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java | 18 ++++++ app/src/main/res/values/arrays.xml | 7 ++ app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java | 2 app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 10 ++- app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java | 10 ++ app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java | 12 ++- app/src/main/res/layout/networktoolbar.xml | 11 +++ 10 files changed, 127 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/safeluck/drive/evaluation/Constant.java b/app/src/main/java/safeluck/drive/evaluation/Constant.java index 9e6c2d5..4b9d253 100644 --- a/app/src/main/java/safeluck/drive/evaluation/Constant.java +++ b/app/src/main/java/safeluck/drive/evaluation/Constant.java @@ -85,6 +85,7 @@ public static final String BIND_MCUINFO_TOPIC = "bind_mcu_info_topic"; public static final String BIND_RTK_SPEED_TOPIC = "BIND_RTK_SPEED_TOPIC"; public static final int EXIT_CURRENT_ITEM = 0;//閫�鍑烘煇鍦哄湴 + public static final String RTK_INFO_SAT_QF = "RTK_INFO_SAT_QF";//浠嶳TK info涓幏鍙栫殑鍗槦棰楁暟鍜宷f 缁勬垚鐨刯son public static String exam_enter_exitdata="exam_enter_exitdata"; public static int Chang_di = 2; public static int DaoLu_night = 3; diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java index 9e2d40f..53e7bae 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatus.java @@ -18,9 +18,27 @@ @PrimaryKey private int id; private int work_platform;//涓氬姟骞冲彴杩炴帴鐘舵�� + private int sat_num;//鍗槦棰楁暟 + private int qf;//瑙g姸鎬� private int default_observe1;//淇濈暀1 涓轰互鍚庢墿灞� private int default_boserve2;//淇濈暀2 + public int getSat_num() { + return sat_num; + } + + public void setSat_num(int sat_num) { + this.sat_num = sat_num; + } + + public int getQf() { + return qf; + } + + public void setQf(int qf) { + this.qf = qf; + } + public int getRtk_login_code() { return rtk_login_code; } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java index f349707..aa1424e 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusDao.java @@ -23,7 +23,13 @@ //鏇存柊涓氬姟骞冲彴杩炴帴鐘舵�� @Query("update app_status set work_platform=:connStatus where id=0") void updatework_platformStatus(int connStatus); + //鏇存柊淇濈暀鍊�1 + @Query("update app_status set default_observe1=:default_observe1 where id=0") + void updatedDefaultObserve1(int default_observe1); //鏇存柊鍗槦鏁� - @Query("update app_status set default_observe1=:saliteNums where id=0") - void updatedDefaultObserve1(int saliteNums); + @Query("update app_status set sat_num=:sat_num where id=0") + void updatedSatNum(int sat_num); + //鏇存柊qf鐘舵�� + @Query("update app_status set qf=:qf where id=0") + void updatedQf(int qf); } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java index 342d72c..aaa42eb 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/appstatusdb/AppStatusWorker.java @@ -24,6 +24,8 @@ private static final String TAG = "AppStatusWorker"; private AppStatusDao appStatusDao; + private int lastSatNum = 0; + private int lastQf = 0; public AppStatusWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) { super(context, workerParams); @@ -53,8 +55,25 @@ appStatusDao.updatework_platformStatus(workconn); break; + case Constant.RTK_INFO_SAT_QF: + int qf = jsonObject.getInt("qf"); + int satNum = jsonObject.getInt("sat_num"); + if (qf==lastQf){ + Log.i(TAG,"瑙g姸鎬佸拰涓婃鐨勪竴鏍凤紝涓嶄繚瀛樻暟鎹簱"+qf); + }else{ + lastQf = qf; + appStatusDao.updatedQf(qf); + } + if (satNum==lastSatNum){ + Log.i(TAG,"鍗槦棰楁暟鍜屼笂娆$殑涓�鏍凤紝涓嶄繚瀛樻暟鎹簱"+lastSatNum); + }else{ + appStatusDao.updatedSatNum(satNum); + lastSatNum = satNum; + } + break; + } return Result.success(); diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java b/app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java index ab9bc03..29ee370 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/gps/GpsInfoWorker.java @@ -44,7 +44,7 @@ Type type = new TypeToken<GPSInfo>(){}.getType(); GPSInfo mstus=gson.fromJson(getInputData().getString(Constant.GPS_INFO_DATA), type); - WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao().updatedDefaultObserve1(mstus.getSat_num()); + WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getAppStatusDao().updatedSatNum(mstus.getSat_num()); WorkRoomDataBase.getWorkRoomDataBase(getApplicationContext()).getGpsInoDao().insert(mstus); } catch (Exception e) { diff --git a/app/src/main/java/safeluck/drive/evaluation/app.java b/app/src/main/java/safeluck/drive/evaluation/app.java index 84e4574..f6cea14 100644 --- a/app/src/main/java/safeluck/drive/evaluation/app.java +++ b/app/src/main/java/safeluck/drive/evaluation/app.java @@ -306,6 +306,36 @@ CEventCenter.dispatchEvent(Constant.BIND_SPEED_TOPIC,cmd,0,json); break; case Constant.RTK_INFO: + JSONObject jsonObject = null; + try { + jsonObject = new JSONObject(json); + int qf = jsonObject.getInt("qf"); + int satNum = jsonObject.getInt("sat_num"); + if (lastSatEqualNow(satNum)){ + + }else{ + String[] rtk_strs = new String[2]; + rtk_strs[0] = Constant.RTK_INFO_SAT_QF; + rtk_strs[1] = json; + Data rtkInfoData = new Data.Builder().putStringArray(Constant.APP_STATUS,rtk_strs).build(); + OneTimeWorkRequest appStatusWorker = new OneTimeWorkRequest.Builder(AppStatusWorker.class).setInputData(rtkInfoData).build(); + WorkManager.getInstance(getApplicationContext()).enqueue(appStatusWorker); + } + if (lastQfEqualNow(qf)){ + + }else{ + String[] rtk_strs = new String[2]; + rtk_strs[0] = Constant.RTK_INFO_SAT_QF; + rtk_strs[1] = json; + Data rtkInfoData = new Data.Builder().putStringArray(Constant.APP_STATUS,rtk_strs).build(); + OneTimeWorkRequest appStatusWorker = new OneTimeWorkRequest.Builder(AppStatusWorker.class).setInputData(rtkInfoData).build(); + WorkManager.getInstance(getApplicationContext()).enqueue(appStatusWorker); + } + } catch (JSONException e) { + e.printStackTrace(); + } + + if (ExamPlatformData.getInstance().getExamplatformStatus()==ExamPlatformData.DEV_LOGIN){ try { JSONObject jsSpeed = new JSONObject(json); @@ -361,6 +391,26 @@ } + private int lastSatNum= 0; + private int lastQf = 0; + + private boolean lastSatEqualNow(int satNum) { + if (lastSatNum == satNum){ + return true; + }else{ + lastSatNum = satNum; + } + return false; + } + private boolean lastQfEqualNow(int qf) { + if (lastQf == qf){ + return true; + }else{ + lastQf = qf; + } + return false; + } + private void sendVechileInfo() { new Thread(new Runnable() { @Override 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 e1aba26..5ec7624 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java @@ -97,7 +97,8 @@ private int item_id;//鎵e垎鍒嗘暟鎬诲拰 private ExamStatusViewModel examStatusViewModel; private static final int ADD_DATA = 1; - private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time; + private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time, + tv_qf; private double speed=0.0; private ImageView iv_rtk_status,iv_head; @@ -106,7 +107,6 @@ private static final int SPEED_DATA = 2; private FailedProjViewModel failedProjViewModel; String icson;//杩斿洖鐨刬c鍗′俊鎭� json - private Random random = new Random(); private List<SimulateNightBean.QuestionBean> tempQs= new ArrayList<>(); public static SupportFragment newInstance() { @@ -127,7 +127,7 @@ av_zhijiao.setColor(aaa(safeluck.drive.evaluation.DB.Constant.EXAM_MAP_TYPE_ANGLE)); } if (msg.what == SPEED_DATA){ - tv_speed.setText(getActivity().getApplicationContext().getResources().getString(R.string.speed,speed)); + tv_speed.setText(_mActivity.getApplicationContext().getResources().getString(R.string.speed,speed)); } if (msg.what == Constant.IC_ID){ try { @@ -367,7 +367,8 @@ Log.i(TAG, "onChanged: "+appStatus.toString()); iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status()); tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr(appStatus.getWork_platform()))); - tv_sat_num.setText(String.valueOf(appStatus.getDefault_observe1()).length()==1?"0"+appStatus.getDefault_observe1():String.valueOf(appStatus.getDefault_observe1())); + tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num())); + tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]); } } }); @@ -444,7 +445,8 @@ iv_rtk_status = view.findViewById(R.id.iv_rtk_connect); iv_head = view.findViewById(R.id.iv_head); - tv_sat_num = view.findViewById(R.id.tv_sat_num); + tv_sat_num = view.findViewById(R.id.tv_sat_num_instatus); + tv_qf = view.findViewById(R.id.tv_qf); tv_speed = view.findViewById(R.id.tv_speed); tv_total_score = view.findViewById(R.id.tv_total_score); tv_network_time = view.findViewById(R.id.network_time); 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 341aada..1b966cb 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java @@ -106,7 +106,8 @@ private int item_id;//鎵e垎鍒嗘暟鎬诲拰 private ExamStatusViewModel examStatusViewModel; private static final int ADD_DATA = 1; - private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time; + private TextView tv_speed,tv_total_score,tv_sat_num,tv_name,tv_id,tv_work_platform,tv_network_time + ,tv_qf; private double speed=0.0; private ImageView iv_rtk_status,iv_head; @@ -115,7 +116,6 @@ private static final int SPEED_DATA = 2; private FailedProjViewModel failedProjViewModel; String icson;//杩斿洖鐨刬c鍗′俊鎭� json - private Random random = new Random(); private List<SimulateNightBean.QuestionBean> tempQs= new ArrayList<>(); @@ -372,7 +372,8 @@ Log.i(TAG, "onChanged: "+appStatus.toString()); iv_rtk_status.getDrawable().setLevel(appStatus.getRtk_connect_status()); tv_work_platform.setText(getString(R.string.platform_status,ExamPlatformData.getInstance().getExamplatformStatusStr(appStatus.getWork_platform()))); - tv_sat_num.setText(String.valueOf(appStatus.getDefault_observe1()).length()==1?"0"+appStatus.getDefault_observe1():String.valueOf(appStatus.getDefault_observe1())); + tv_sat_num.setText(String.valueOf(appStatus.getSat_num()).length()==1?"0"+appStatus.getSat_num():String.valueOf(appStatus.getSat_num())); + tv_qf.setText(getResources().getStringArray(R.array.qf_status)[appStatus.getQf()]); } } }); @@ -450,7 +451,8 @@ iv_rtk_status = view.findViewById(R.id.iv_rtk_connect); iv_head = view.findViewById(R.id.iv_head); - tv_sat_num = view.findViewById(R.id.tv_sat_num); + tv_sat_num = view.findViewById(R.id.tv_sat_num_instatus); + tv_qf = view.findViewById(R.id.tv_qf); tv_speed = view.findViewById(R.id.tv_speed); tv_total_score = view.findViewById(R.id.tv_total_score); tv_network_time = view.findViewById(R.id.network_time); diff --git a/app/src/main/res/layout/networktoolbar.xml b/app/src/main/res/layout/networktoolbar.xml index fa052e0..891dd57 100644 --- a/app/src/main/res/layout/networktoolbar.xml +++ b/app/src/main/res/layout/networktoolbar.xml @@ -20,17 +20,26 @@ android:layout_height="wrap_content" android:text="02" android:gravity="center" + android:id="@+id/tv_sat_num_instatus" android:drawableLeft="@drawable/gps" android:textColor="@android:color/white" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/iv_rtk_connect" - android:layout_marginLeft="50dp" + android:layout_marginLeft="30dp" android:src="@drawable/antennaxml"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" + android:id="@+id/tv_qf" + android:singleLine="true" + android:layout_marginLeft="30dp" + android:textColor="@android:color/white" + android:text="鏃犳晥瑙�"/> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" android:layout_gravity="center" android:id="@+id/network_time" android:singleLine="true" diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 8c61726..6fe4b75 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -4,4 +4,11 @@ <item>寮犱笁</item> <item>鏉庡洓</item> </string-array> + <string-array name="qf_status"> + <item>鏃犳晥瑙�</item> + <item>鍗曠偣瀹氫綅瑙�</item> + <item>浼窛宸垎</item> + <item>鍥哄畾瑙�</item> + <item>娴姩瑙�</item> + </string-array> </resources> -- Gitblit v1.8.0