From c5880ce42053910bb33e643530deff019e22e924 Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期二, 26 十一月 2019 17:58:01 +0800
Subject: [PATCH] 修改criteria_I.json文件某个字段使之Gson不报错;点开TrainFragment的时候开始加载数据库(onCreate插入数据)
---
app/src/main/java/safeluck/drive/evaluation/DB/criterias/viewmodel/CriteriaIViewModel.java | 12 ++-
app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriasRepository.java | 6 +
app/src/main/assets/criteria_I.json | 99 +++++++++++++++++++-------------
app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java | 8 ++
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java | 20 ++++++
app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java | 28 +++++---
6 files changed, 116 insertions(+), 57 deletions(-)
diff --git a/app/src/main/assets/criteria_I.json b/app/src/main/assets/criteria_I.json
index edb7574..aee1b14 100644
--- a/app/src/main/assets/criteria_I.json
+++ b/app/src/main/assets/criteria_I.json
@@ -32,21 +32,21 @@
"item_content": "閫氱敤瑕佹眰",
"deducting_reason": "鍥犳搷浣滀笉褰撻�犳垚鍙戝姩鏈虹唲鐏竴娆�",
"score_deducting":10,
- "required_precision":"5"
+ "required_precision":""
},
{
"item_id":6,
"item_content": "鍊掕溅鍏ュ簱",
"deducting_reason": "涓嶆寜瑙勫畾璺嚎銆侀『搴忚椹�",
"score_deducting":100,
- "required_precision":"5"
+ "required_precision":""
},
{
"item_id":7,
"item_content": "鍊掕溅鍏ュ簱",
"deducting_reason": "杞﹁韩鍑虹嚎",
"score_deducting":100,
- "required_precision":"5"
+ "required_precision":""
},
{
"item_id":8,
@@ -60,7 +60,7 @@
"item_content": "鍊掕溅鍏ュ簱",
"deducting_reason": "鍦ㄥ�掕溅鍓�,鏈皢涓や釜鍓嶈疆瑙﹀湴鐐瑰潎椹惰繃鎺у埗绾�",
"score_deducting":100,
- "required_precision":""
+ "required_precision": ""
},
{
"item_id":10,
@@ -74,14 +74,14 @@
"item_content": "鍊掕溅鍏ュ簱",
"deducting_reason": "涓�斿仠杞︽椂闂磋秴杩�2s",
"score_deducting":100,
- "score_deducting":""
+ "required_precision":""
},
{
"item_id":12,
"item_content": "鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�",
"deducting_reason": "杞﹁締鍋滄鍚�,姹借溅鍓嶄繚闄╂潬鏈畾浜庢々鏉嗙嚎涓婏紝涓斿墠鍚庤秴鍑�50cm",
"score_deducting":100,
- "required_precision":"df"
+ "required_precision":""
},
{
"item_id":13,
@@ -95,108 +95,125 @@
"item_content": "鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�",
"deducting_reason": "杞﹁締鍋滄鍚庯紝杞﹁韩璺濈璺竟缂樼嚎瓒呭嚭50cm",
"score_deducting":100,
- "required_precision":"5"
- } , {
+ "required_precision":""
+ } ,
+ {
"item_id":15,
"item_content": "鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�",
"deducting_reason": "杞﹁締鍋滄鍚�,璧锋鏃堕棿瓒呰繃30s",
"score_deducting":100,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":16,
"item_content": "鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�",
"deducting_reason": "璧锋鏃惰溅杈嗗悗婧滆窛绂诲ぇ浜�30cm",
"score_deducting":100,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":17,
"item_content": "鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�",
"deducting_reason": "杞﹁締鍋滄鍚�,姹借溅鍓嶄繚闄╂潬鏈畾浜庢々鏉嗙嚎涓婏紝涓斿墠鍚庝笉瓒呭嚭50cm",
"score_deducting":10,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":18,
"item_content": "鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�",
"deducting_reason": "杞﹁締鍋滄鍚庯紝杞﹁韩璺濈璺竟缂樼嚎瓒呭嚭30cm锛屾湭瓒呭嚭50cm",
"score_deducting":10,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":19,
"item_content": "鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�",
"deducting_reason": "鍋滆溅鍚庢湭鎷夌揣椹昏溅鍒跺姩鍣�",
"score_deducting":10,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":20,
"item_content": "鍧¢亾瀹氱偣鍋滆溅鍜岃捣姝�",
"deducting_reason": "璧锋鏃惰溅杈嗗悗婧滆窛绂�10cm~30cm",
"score_deducting":10,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":21,
"item_content": "渚ф柟鍋滆溅",
"deducting_reason": "杞﹁締鍏ュ簱鍋滄鍚庯紝杞﹁韩鍑虹嚎",
"score_deducting":100,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":22,
"item_content": "渚ф柟鍋滆溅",
"deducting_reason": "椤圭洰瀹屾垚鏃堕棿瓒呰繃90s",
"score_deducting":100,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":23,
"item_content": "渚ф柟鍋滆溅",
"deducting_reason": "琛岄┒涓溅杞Е杞ц溅閬撹竟绾�",
"score_deducting":10,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":24,
"item_content": "渚ф柟鍋滆溅",
"deducting_reason": "琛岄┒涓溅韬Е纰板簱浣嶈竟绾�",
"score_deducting":10,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":25,
"item_content": "渚ф柟鍋滆溅",
"deducting_reason": "鍑哄簱鏃朵笉浣跨敤鎴栭敊璇娇鐢ㄨ浆鍚戠伅",
"score_deducting":10,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":26,
"item_content": "渚ф柟鍋滆溅",
"deducting_reason": "涓�斿仠杞︽椂闂磋秴杩�2s",
"score_deducting":5,
- "required_precision":"trew"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":27,
"item_content": "鏇茬嚎琛岄┒",
"deducting_reason": "杞﹁疆杞ч亾璺竟缂樼嚎",
"score_deducting":100,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":28,
"item_content": "鏇茬嚎琛岄┒",
"deducting_reason": "涓�斿仠杞︽椂闂磋秴杩�2s",
"score_deducting":100,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":29,
"item_content": "鐩寸嚎杞集",
"deducting_reason": "杞﹁疆杞ч亾璺竟缂樼嚎",
"score_deducting":100,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":30,
"item_content": "鐩寸嚎杞集",
"deducting_reason": "杞集鏃朵笉浣跨敤鎴栭敊璇娇鐢ㄨ浆鍚戠伅锛岃浆瀹屽悗涓嶅叧闂浆鍚戠伅",
"score_deducting":10,
- "required_precision":"5"
- }, {
+ "required_precision":""
+ },
+ {
"item_id":31,
"item_content": "鐩寸嚎杞集",
"deducting_reason": "涓�斿仠杞︽椂闂磋秴杩�2s",
"score_deducting":5,
- "required_precision":"5"
+ "required_precision":""
}
]
\ No newline at end of file
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java b/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
index 82c66b9..823d9dd 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/WorkRoomDataBase.java
@@ -37,9 +37,11 @@
public static final ExecutorService dataBaseWriteExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS);
public static WorkRoomDataBase getWorkRoomDataBase(final Context mContext){
+ Log.i(TAG, "getWorkRoomDataBase");
if (workRoomDataBase == null){
synchronized (WorkRoomDataBase.class){
if (workRoomDataBase == null){
+ Log.i(TAG, "getWorkRoomDataBase==null ");
workRoomDataBase = Room.databaseBuilder(mContext.getApplicationContext(),WorkRoomDataBase.class,"work_database")
.addCallback(new Callback() {
@Override
@@ -51,6 +53,12 @@
WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest);
WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest1);
}
+
+ @Override
+ public void onOpen(@NonNull SupportSQLiteDatabase db) {
+ super.onOpen(db);
+ Log.i(TAG, "onOpen: ");
+ }
})
.build();
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriasRepository.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriasRepository.java
index 1c7230d..d0e8c3b 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriasRepository.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/CriteriasRepository.java
@@ -1,6 +1,7 @@
package safeluck.drive.evaluation.DB.criterias;
import android.app.Application;
+import android.util.Log;
import androidx.lifecycle.LiveData;
@@ -16,6 +17,7 @@
*/
public class CriteriasRepository {
+ private static final String TAG = "CriteriasRepository";
CriteriaIDao mCriteriaIDao;
@@ -54,6 +56,8 @@
* @param application
*/
public CriteriasRepository(Application application) {
- this.mCriteriaIDao = WorkRoomDataBase.getWorkRoomDataBase(application).getCriteriaIDao();
+ Log.i(TAG, "CriteriasRepository: ");
+ WorkRoomDataBase db =WorkRoomDataBase.getWorkRoomDataBase(application);
+ this.mCriteriaIDao = db.getCriteriaIDao();
}
}
diff --git a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/viewmodel/CriteriaIViewModel.java b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/viewmodel/CriteriaIViewModel.java
index ce218ae..809eb5c 100644
--- a/app/src/main/java/safeluck/drive/evaluation/DB/criterias/viewmodel/CriteriaIViewModel.java
+++ b/app/src/main/java/safeluck/drive/evaluation/DB/criterias/viewmodel/CriteriaIViewModel.java
@@ -1,6 +1,7 @@
package safeluck.drive.evaluation.DB.criterias.viewmodel;
import android.app.Application;
+import android.util.Log;
import androidx.annotation.NonNull;
import androidx.lifecycle.AndroidViewModel;
@@ -19,17 +20,20 @@
*/
public class CriteriaIViewModel extends AndroidViewModel {
+ private static final String TAG = "CriteriaIViewModel";
CriteriasRepository mCriteriasRep;
- LiveData<CriteriaForI> criteriaI;
public CriteriaIViewModel(@NonNull Application application) {
super(application);
+ Log.i(TAG, "CriteriaIViewModel Constructor ");
mCriteriasRep = new CriteriasRepository(application);
}
- public LiveData<CriteriaForI> getItemForCriteriaI(int item_id){
- criteriaI = mCriteriasRep.queryItemForCriteriaI(item_id);
- return criteriaI;
+
+
+ public LiveData<CriteriaForI> queryCriteriaI(int item_id){
+ return mCriteriasRep.queryItemForCriteriaI(item_id);
+
}
public void insertCriteriaIs(List<CriteriaForI> cs){
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 baa967f..c40f2f5 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TcpFragment.java
@@ -23,6 +23,8 @@
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.DB.Student;
import safeluck.drive.evaluation.DB.WokViewModel;
+import safeluck.drive.evaluation.DB.criterias.CriteriaForI;
+import safeluck.drive.evaluation.DB.criterias.viewmodel.CriteriaIViewModel;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.tcp.ConnectThread;
@@ -35,13 +37,15 @@
public class TcpFragment extends SupportFragment implements View.OnClickListener {
+ private static final String TAG = TcpFragment.class.getSimpleName();
private TextInputEditText ip;
private TextInputEditText port;
private Button btn_connect;
private Button btn_send;
private ConnectThread connectThread;
private AppCompatEditText sendEditText;
- private WokViewModel workViewModel;
+ private CriteriaIViewModel workViewModel;
+ private int item_id=0;
public static TcpFragment newInstance() {
return new TcpFragment();
@@ -52,16 +56,9 @@
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_tcpclient, container, false);
initView(view);
- workViewModel =ViewModelProviders.of(this).get(WokViewModel.class);
+ workViewModel =ViewModelProviders.of(this).get(CriteriaIViewModel.class);
- workViewModel.getStudents().observe((LifecycleOwner) this, new Observer<List<Student>>() {
- @Override
- public void onChanged(List<Student> students) {
- for (Student student:students){
- Log.i("Students", "onChanged: "+student.toString());
- }
- }
- });
+
return view;
}
@@ -92,8 +89,17 @@
//// connectThread.sendMessage(sendEditText.getText().toString().trim());
//// sendEditText.getText().clear();
//// }
- workViewModel.insertStudent(new Student(1002,"鐜嬩簲","500107198910124566",1));
+ checkCriteria(++item_id);
break;
}
}
+
+ private void checkCriteria(int item_id) {
+ workViewModel.queryCriteriaI(item_id).observe(TcpFragment.this, new Observer<CriteriaForI>() {
+ @Override
+ public void onChanged(CriteriaForI criteriaForI) {
+ Log.i(TAG, "onChanged: "+criteriaForI.toString());
+ }
+ });
+ }
}
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 9c06073..b3575bf 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -4,6 +4,10 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProviders;
+
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -13,6 +17,8 @@
import java.util.List;
import me.yokeyword.fragmentation.SupportFragment;
+import safeluck.drive.evaluation.DB.Student;
+import safeluck.drive.evaluation.DB.WokViewModel;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.adapter.ScoreAdapter;
import safeluck.drive.evaluation.bean.ScoreBean;
@@ -24,6 +30,8 @@
* All Rights Saved! Chongqing AnYun Tech co. LTD
*/
public class TrainFragment extends SupportFragment implements View.OnClickListener {
+
+ private static final String TAG = TrainFragment.class.getSimpleName();
private ListView mListView ;
private ScoreAdapter mScoreAdapter;
@@ -39,6 +47,18 @@
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_train_fragment,container,false);
initView(view);
+
+ WokViewModel wokViewModel = ViewModelProviders.of(this).get(WokViewModel.class);
+ wokViewModel.getStudents().observe(this, new Observer<List<Student>>() {
+ @Override
+ public void onChanged(List<Student> students) {
+ for (Student student:
+ students) {
+ Log.i(TAG, "onChanged: "+student.toString());
+ }
+ }
+ });
+
return view;
}
private void initView(View view) {
--
Gitblit v1.8.0