From b2fe9c4f073523284c671bf8895a8412cd269518 Mon Sep 17 00:00:00 2001 From: endian11 <Dana_Lee1016@126.com> Date: 星期二, 19 一月 2021 15:06:34 +0800 Subject: [PATCH] 完成灯光发送 --- app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt | 37 +++++- app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java | 174 ++++++++++++++++++++++++++++++---- app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java | 10 + app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java | 10 ++ app/src/main/assets/lightallanswers.json | 4 app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java | 7 + app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java | 2 app/src/main/res/layout/fragment_light_exam_list.xml | 2 app/src/main/assets/lightdefault.json | 2 9 files changed, 212 insertions(+), 36 deletions(-) diff --git a/app/src/main/assets/lightallanswers.json b/app/src/main/assets/lightallanswers.json index e6628db..de5a303 100644 --- a/app/src/main/assets/lightallanswers.json +++ b/app/src/main/assets/lightallanswers.json @@ -9,7 +9,7 @@ { "id":1, "question_id":0, - "answer": "寮�鍚ぇ鐏紝杩滆繎鍏夌伅閮藉彲浠�", + "answer": "寮�鍚ぇ鐏紝杩溿�佽繎鍏夌伅閮藉彲浠�", "choose":0 }, { @@ -39,7 +39,7 @@ { "id":6, "question_id":5, - "answer": "寮�鍚ず瀹界伅鍜屽嵄闄╄绀虹伅", + "answer": "绀哄鐏�+鍗遍櫓璀︾ず鐏�", "choose":1 }, { diff --git a/app/src/main/assets/lightdefault.json b/app/src/main/assets/lightdefault.json index 7c2962b..7dc4c53 100644 --- a/app/src/main/assets/lightdefault.json +++ b/app/src/main/assets/lightdefault.json @@ -37,7 +37,7 @@ { "id":5, "question": "澶滈棿鍦ㄩ亾璺笂鍙戠敓鏁呴殰锛屽Θ纰嶄氦閫氬張闅句互绉诲姩", - "answer": "寮�鍚ず瀹界伅鍜屽嵄闄╄绀虹伅", + "answer": "绀哄鐏�+鍗遍櫓璀︾ず鐏�", "flag":0 }, { diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java b/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java index 7dff663..6891d1f 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestions.java @@ -49,4 +49,14 @@ public void setFlag(int flag) { this.flag = flag; } + + @Override + public String toString() { + return "LightUseQuestions{" + + "id=" + id + + ", question='" + question + '\'' + + ", answer='" + answer + '\'' + + ", flag=" + flag + + '}'; + } } diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java b/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java index 2aeed11..a2070b4 100644 --- a/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java +++ b/app/src/main/java/safeluck/drive/evaluation/DB/lightdb/LightUseQuestionsDao.java @@ -33,4 +33,6 @@ LiveData<List<LightUseQuestions>> getLightUseQuestions(); + @Query("SELECT * FROM lightUseQuest") + List<LightUseQuestions> lightUseQuestionsNoLive(); } diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java b/app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java index 96bbf48..10daff0 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/AbsInitialData.java @@ -15,6 +15,7 @@ import safeluck.drive.evaluation.app; +import safeluck.drive.evaluation.util.CThreadPoolExecutor; import safeluck.drive.evaluation.util.DataInitKt; import static safeluck.drive.evaluation.util.DataInitKt.sendJudgeArgs; @@ -107,14 +108,17 @@ //闇�瑕佸欢杩熷彂閫侊紝鍥犱负鍓嶉潰鏈塰ttp璇锋眰 executorService.schedule(()->{ Log.i("AYJiaKao","寤惰繜鍙戦��"); - if (DataInitKt.getSendVehiSucc() && (DataInitKt.getSendMapSucc() || DataInitKt.getSendRoadMapSucc())){ +// if (DataInitKt.getSendVehiSucc() && (DataInitKt.getSendMapSucc() || DataInitKt.getSendRoadMapSucc())){ + CThreadPoolExecutor.runInBackground(()->{ sendLightsAndExamStatus(); - }else{ + }); + +// }else{ MyLog.i(DataInitKt.getSendRoadMapSucc()?String.format("閬撹矾鍦板浘鍙戦�佹垚鍔�"):"閬撹矾鍦板浘鍙戦�佸け璐�"); MyLog.i(DataInitKt.getSendMapSucc()?String.format("鍦哄湴鍦板浘鍙戦�佹垚鍔�"):"鍦哄湴鍦板浘鍙戦�佸け璐�"); MyLog.i(DataInitKt.getSendVehiSucc()?String.format("杞﹁締妯″瀷鍙戦�佹垚鍔�"):"杞﹁締妯″瀷鍙戦�佸け璐�"); Toast.makeText(app.getAppContext(), "鍦板浘鎴栬溅妯″瀷涓嶅瓨鍦紝璇锋鏌ュ钩鍙伴厤缃垨鎵嬪伐閰嶇疆", Toast.LENGTH_SHORT).show(); - } +// } },2, TimeUnit.SECONDS); diff --git a/app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java b/app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java index a688ef4..abfa37b 100644 --- a/app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java +++ b/app/src/main/java/safeluck/drive/evaluation/bean/SimulateNightBean.java @@ -1,14 +1,12 @@ package safeluck.drive.evaluation.bean; +import java.util.ArrayList; import java.util.List; -import safeluck.drive.evaluation.util.FileUtil; - public class SimulateNightBean { - /** * exam : 0 - * question : [{"item":1,"tts":"鎵撳紑杞︾伅"},{"item":2,"tts":"閫氳繃浜鸿閬�"}] + * question : [{"item":100,"process":[],"solution":[-1],"tts":"涓嬮潰灏嗚繘琛屾ā鎷熷闂磋椹跺満鏅伅鍏変娇鐢ㄧ殑鑰冭瘯锛岃鎸夎闊虫寚浠ゅ湪5绉掑唴鍋氬嚭鐩稿簲鐨勭伅鍏夋搷浣�"},{"item":1,"process":[3],"solution":[1],"tts":"璇锋墦寮�鍓嶇収鐏�"},{"item":2,"process":[3],"solution":[1],"tts":"澶滈棿鍦ㄦ病鏈夎矾鐏紝鐓ф槑涓嶈壇鏉′欢涓嬭椹�"},{"item":7,"process":[3],"solution":[1],"tts":"澶滈棿鍦ㄩ亾璺笂鍙戠敓鏁呴殰锛屽Θ纰嶄氦閫氬張闅句互绉诲姩"},{"item":10,"process":[3],"solution":[1],"tts":"璺竟涓存椂鍋滆溅"},{"item":9,"process":[3],"solution":[1],"tts":"澶滈棿閫氳繃娌℃湁浜ら�氫俊鍙风伅鎺у埗鐨勮矾鍙�"},{"item":101,"process":[],"solution":[-1],"tts":"妯℃嫙澶滈棿鑰冭瘯瀹屾垚璇峰叧闂墍鏈夌伅鍏夛紝璇疯捣姝ョ户缁畬鎴愯�冭瘯"}] */ private int exam; @@ -32,18 +30,82 @@ public static class QuestionBean { /** - * item : 1 - * tts : 鎵撳紑杞︾伅 + * item : 100 + * process : [] + * solution : [-1] + * tts : 涓嬮潰灏嗚繘琛屾ā鎷熷闂磋椹跺満鏅伅鍏変娇鐢ㄧ殑鑰冭瘯锛岃鎸夎闊虫寚浠ゅ湪5绉掑唴鍋氬嚭鐩稿簲鐨勭伅鍏夋搷浣� */ private int item; private String tts; + private List<Integer> process; + private List<Integer> solution; public QuestionBean(int i, String s) { - this.item =i; + this.item =i; this.tts = s; + if (i>=100){ + + }else{ + if (process == null){ + this.process = new ArrayList<>(); + } + this.process.add(-1); + if (solution == null){ + this.solution = new ArrayList<>(); + } + this.solution.add(-1); + } + } + public void parseSolutionAndProcess(String content){ + solution.clear(); + process.clear(); + if (content.contains("+")){ + String regx = "\\+"; + String[] strs = content.split(regx); + for (int i = 0; i < strs.length; i++) { + if (strs[i].contains("澶х伅")){ + //1杩戝厜鐏� + solution.add(1); + }else if (strs[i].contains("灏忕伅")){ + //3绀哄粨鐏� + solution.add(3); + }else if (strs[i].contains("璀︾ず鐏�")){ + //7鍗遍櫓璀︾ず鐏� + solution.add(7); + }else if (strs[i].contains("闆剧伅")){ + //4闆剧伅 + solution.add(4); + }else if (strs[i].contains("宸﹁浆鍚�")){ + //5宸﹁浆淇″彿 + solution.add(5); + }else if (strs[i].contains("鍙宠浆鍚�")){ + //6鍙宠浆淇″彿 + solution.add(6); + } + } + + }else if (content.contains("鍙樻崲")){ + process.add(8); + solution.add(1); + }else if (content.equalsIgnoreCase("寮�鍚繙鍏夌伅")){ + solution.add(2); + }else if (content.equalsIgnoreCase("寮�鍚繎鍏夌伅")){ + solution.add(1); + }else if (content.contains("杩溿�佽繎鍏夌伅")){ + solution.add(1); + solution.add(2); + }else if (content.contains("娉ㄦ剰鏄繎鍏�")){ + solution.add(1); + }else if (content.equalsIgnoreCase("寮�鍚嵄闄╄绀虹伅")){ + solution.add(7); + }else if (content.equalsIgnoreCase("鍏堝紑宸﹁浆鍚戠伅锛屽悗鍙樻崲杩滆繎鍏夌伅")){ + process.add(5); + solution.add(8); + } + } public int getItem() { return item; } @@ -60,20 +122,92 @@ this.tts = tts; } - @Override - public String toString() { - return "QuestionBean{" + - "item=" + item + - ", tts='" + tts + '\'' + - '}'; + public List<Integer> getProcess() { + return process; + } + + public void setProcess(List<Integer> process) { + this.process = process; + } + + public List<Integer> getSolution() { + return solution; + } + + public void setSolution(List<Integer> solution) { + this.solution = solution; } } - @Override - public String toString() { - return "SimulateNightBean{" + - "exam=" + exam + - ", question=" + FileUtil.ListToString(question) + - '}'; - } +// /** +// * exam : 0 +// * question : [{"item":1,"tts":"鎵撳紑杞︾伅"},{"item":2,"tts":"閫氳繃浜鸿閬�"}] +// */ +// +// private int exam; +// private List<QuestionBean> question; +// +// public int getExam() { +// return exam; +// } +// +// public void setExam(int exam) { +// this.exam = exam; +// } +// +// public List<QuestionBean> getQuestion() { +// return question; +// } +// +// public void setQuestion(List<QuestionBean> question) { +// this.question = question; +// } +// +// public static class QuestionBean { +// /** +// * item : 1 +// * tts : 鎵撳紑杞︾伅 +// */ +// +// private int item; +// private String tts; +// +// public QuestionBean(int i, String s) { +// this.item =i; +// this.tts = s; +// } +// +// public int getItem() { +// return item; +// } +// +// public void setItem(int item) { +// this.item = item; +// } +// +// public String getTts() { +// return tts; +// } +// +// public void setTts(String tts) { +// this.tts = tts; +// } +// +// @Override +// public String toString() { +// return "QuestionBean{" + +// "item=" + item + +// ", tts='" + tts + '\'' + +// '}'; +// } +// } +// +// @Override +// public String toString() { +// return "SimulateNightBean{" + +// "exam=" + exam + +// ", question=" + FileUtil.ListToString(question) + +// '}'; +// } + } diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java index f5053dc..37fce5f 100644 --- a/app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java +++ b/app/src/main/java/safeluck/drive/evaluation/fragment/LightExamFragment.java @@ -55,11 +55,13 @@ import safeluck.drive.evaluation.R; import safeluck.drive.evaluation.adapter.LightExamSelectAdapter; import safeluck.drive.evaluation.adapter.LightExamUseAdapter; +import safeluck.drive.evaluation.app; import safeluck.drive.evaluation.bean.AnswerStatus; import safeluck.drive.evaluation.bean.Question2Answers; import safeluck.drive.evaluation.customview.MyDecoration; import safeluck.drive.evaluation.util.CThreadPoolExecutor; +import safeluck.drive.evaluation.util.DataInitKt; /** * DriveJudge @@ -294,7 +296,10 @@ OneTimeWorkRequest oneTimeWorkRequest = OneTimeWorkRequest.from(LightUseInitWorker.class); WorkManager.getInstance(_mActivity).enqueue(oneTimeWorkRequest); break; - case R.id.btn_sure: + case R.id.btn_light_sure: + CThreadPoolExecutor.runInBackground(()->{ + DataInitKt.sendExamLightsAndExamStatus(app.getAppContext()); + }); break; } } diff --git a/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt b/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt index 0998d35..ea06495 100644 --- a/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt +++ b/app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt @@ -23,6 +23,7 @@ import safeluck.drive.evaluation.DB.signalConfigdb.SingalConfig import safeluck.drive.evaluation.app import safeluck.drive.evaluation.bean.* +import safeluck.drive.evaluation.bean.SimulateNightBean.QuestionBean import safeluck.drive.evaluation.httpmodule.HttpCarRespBean import safeluck.drive.evaluation.httpmodule.HttpRequetBean import safeluck.drive.evaluation.httpmodule.HttpRoadMapRsp @@ -78,19 +79,39 @@ val examType = ExamPlatformData.getInstance().examType simulateNightBean.setExam(0) - val list = ExamPlatformData.getInstance().simulate_light_tips + tempQs.clear() + val list = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).lightUseQuestionsDao.lightUseQuestionsNoLive() + Log.i("AYJiaKao",list.size.toString()) + tempQs.add(QuestionBean(100, "涓嬮潰灏嗚繘琛屾ā鎷熷闂磋椹跺満鏅伅鍏変娇鐢ㄧ殑鑰冭瘯锛岃鎸夎闊虫寚浠ゅ湪5绉掑唴鍋氬嚭鐩稿簲鐨勭伅鍏夋搷浣�"))//鎻愮ず涓嬮潰灏嗚繘琛岀伅鍏夎�冭瘯 - tempQs.add(list[list.size-2])//鎻愮ず涓嬮潰灏嗚繘琛岀伅鍏夎�冭瘯 - tempQs.add(list[0]) - val a = Utils.getRandomInts(4, 10) - for (i in a.indices) { - tempQs.add(list[a[i]]) + if (list.size>5){ + var questbean = QuestionBean(list[0].id,list[0].question) + questbean.parseSolutionAndProcess(list[0].answer) + tempQs.add(questbean) + val a = Utils.getRandomInts(4, list.size) + for (i in a.indices) { + var te = list[a[i]] + Log.i("AYJiaKao",te.toString()) + var questbean = QuestionBean(te.id,te.question) + questbean.parseSolutionAndProcess(te.answer) + tempQs.add(questbean) + + } + }else{ + for (i in list.indices){ + + var questbean = QuestionBean(list[i].id,list[i].question) + questbean.parseSolutionAndProcess(list[i].answer) + tempQs.add(questbean) } - tempQs.add(list[list.size-1])//鎻愮ず鐏厜鑰冭瘯缁撴潫 + } + + tempQs.add(QuestionBean(101, "妯℃嫙澶滈棿鑰冭瘯瀹屾垚璇峰叧闂墍鏈夌伅鍏夛紝璇疯捣姝ョ户缁畬鎴愯�冭瘯"))//鎻愮ず鐏厜鑰冭瘯缁撴潫 simulateNightBean.setQuestion(tempQs) MyLog.i("寮�濮嬪彂閫佺伅鍏�,鑰冭瘯椤瑰叡鏈�"+simulateNightBean.question.size) - AYSdk.getInstance().sendCmd(0x8012, gson.toJson(simulateNightBean)) + MyLog.i("寮�濮嬪彂閫佺伅鍏�,gson="+gson.toJson(simulateNightBean)) +// AYSdk.getInstance().sendCmd(0x8012, gson.toJson(simulateNightBean)) //鍙戦�佽�冭瘯鐘舵�� MyLog.i("鏌ュ埌鐨勮�冭瘯type=$examType") diff --git a/app/src/main/res/layout/fragment_light_exam_list.xml b/app/src/main/res/layout/fragment_light_exam_list.xml index d1c0f37..9874b67 100644 --- a/app/src/main/res/layout/fragment_light_exam_list.xml +++ b/app/src/main/res/layout/fragment_light_exam_list.xml @@ -72,7 +72,7 @@ android:layout_height="@dimen/ui_margin_50dp" android:textColor="@android:color/white" android:textSize="28sp" - android:text="鍙互鏇存崲鐨勯鐩�"/> + android:text="棰樼洰搴�"/> <androidx.recyclerview.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" -- Gitblit v1.8.0