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