From 9ce66a60767c49de97aed2ff4ea9a3370e4a356e Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期六, 10 十月 2020 14:46:32 +0800
Subject: [PATCH] 规则设置采用viewmodel+livedata 保存json文件到报名下的方式  保存按钮需要调整

---
 app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt         |   44 ++++++++++++++++++++++
 app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java           |   10 ++---
 app/src/main/res/layout/fragment_gear_setting.xml                                        |   12 ++++++
 app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java |   27 +++++++++++++
 app/src/main/res/layout/fragment_content.xml                                             |   13 ------
 app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.kt                  |   12 ++++++
 6 files changed, 100 insertions(+), 18 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
index 7b2f7b0..c60c585 100644
--- a/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
+++ b/app/src/main/java/safeluck/drive/evaluation/adapter/SimpleFragmentAdapter.java
@@ -20,7 +20,7 @@
  * All Rights Saved! Chongqing AnYun Tech co. LTD
  */
 public class SimpleFragmentAdapter  extends FragmentPagerAdapter {
-    private String[] mTitles = new String[]{"鍩虹鏁版嵁","GNSS淇℃伅"};
+    private String[] mTitles = new String[]{"鍩虹鏁版嵁","鑰冭瘯绯荤粺璁剧疆"};
 //    private String[] mTitles = new String[]{"鍩虹鏁版嵁","GNSS淇℃伅","鑰冭瘯绯荤粺璁剧疆"};
     public SimpleFragmentAdapter(FragmentManager fm) {
         super(fm);
@@ -38,12 +38,10 @@
 //                supportFragment = RTKConfigFragment.newInstance();
 //                //ftp
 //                break;
-//            case 2:
-//                supportFragment = SysExamSettingFragment.newInstance();
-//                break;
-                        case 1:
-                supportFragment = GpsInfoFragment.newInstance();
+            case 1:
+                supportFragment = SysExamSettingFragment.newInstance();
                 break;
+
                 default:break;
         }
         return supportFragment;
diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java
index a061f89..2a097cd 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/rulefragments/FragmentSetting0.java
@@ -7,13 +7,18 @@
 import android.view.ViewGroup;
 import android.widget.Button;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import androidx.annotation.Nullable;
 import androidx.appcompat.widget.Toolbar;
+import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProviders;
 
 import me.yokeyword.fragmentation.SupportFragment;
 import safeluck.drive.evaluation.R;
 import safeluck.drive.evaluation.fragment.rulefragments.cview.TextEditText;
+import safeluck.drive.evaluation.viewmodels.GearRelateSet;
+import safeluck.drive.evaluation.viewmodels.GearRelateSetViewModel;
 
 /**
  * Created by YoKeyword on 16/2/7.
@@ -22,6 +27,8 @@
     private static final String ARG_NUMBER = "arg_number";
     private static final String TAG = FragmentSetting0.class.getSimpleName();
     private TextEditText textEditText;
+    private GearRelateSet mgearRelateSet;
+    private GearRelateSetViewModel gearRelateSetViewModel ;
 
     private int mNumber;
 
@@ -48,12 +55,32 @@
     public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
         View view = inflater.inflate(R.layout.fragment_gear_setting, container, false);
         initView(view);
+        gearRelateSetViewModel = ViewModelProviders.of(this).get(GearRelateSetViewModel.class);
+        gearRelateSetViewModel.getGearRelateSet().observe(this, new Observer<GearRelateSet>() {
+            @Override
+            public void onChanged(GearRelateSet gearRelateSet) {
+                if (gearRelateSet != null){
+                    Toast.makeText(_mActivity, gearRelateSet.toString(), Toast.LENGTH_SHORT).show();
+                    mgearRelateSet = gearRelateSet;
+                }
+            }
+        });
+
         return view;
     }
 
     private void initView(View view) {
 //        textEditText = view.findViewById(R.id.textet1);
 //        textEditText.getInput();
+
+        view.findViewById(R.id.btn_setting_save).setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                mgearRelateSet.setGear_one_begin(0);
+                gearRelateSetViewModel.saveGearRelatedSetting(mgearRelateSet);
+            }
+        });
+
     }
 
 }
diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.kt
new file mode 100644
index 0000000..d41dfd1
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSet.kt
@@ -0,0 +1,12 @@
+package safeluck.drive.evaluation.viewmodels
+
+/**DriveJudge
+ * Created by lzw on 2020/10/9. 14:27:54
+ * 閭锛�632393724@qq.com
+ * All Rights Saved! Chongqing AnYun Tech co. LTD
+ */
+data class GearRelateSet(var gear_not_match_seconds:Long,
+                         var gear_item_gear_not_match_mills:Long,
+                         var gear_one_dis:Int,
+var gear_tw_dis:Int,var gear_one_begin:Int,var gear_one_end:Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt
new file mode 100644
index 0000000..c70eefe
--- /dev/null
+++ b/app/src/main/java/safeluck/drive/evaluation/viewmodels/GearRelateSetViewModel.kt
@@ -0,0 +1,44 @@
+package safeluck.drive.evaluation.viewmodels
+
+import android.app.Application
+import androidx.lifecycle.*
+import com.google.gson.Gson
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+import safeluck.drive.evaluation.app
+import safeluck.drive.evaluation.util.CThreadPoolExecutor
+import safeluck.drive.evaluation.util.FileUtil
+
+/**DriveJudge
+ * Created by lzw on 2020/10/9. 14:22:48
+ * 閭锛�632393724@qq.com
+ * All Rights Saved! Chongqing AnYun Tech co. LTD
+ */
+class GearRelateSetViewModel() : ViewModel() {
+    var gson = Gson()
+    private val gearRelateSet:MutableLiveData<GearRelateSet> by lazy {
+        MutableLiveData<GearRelateSet>().also {
+            loadData()
+        }
+    }
+
+    fun saveGearRelatedSetting(gearRelateSet: GearRelateSet){
+        CThreadPoolExecutor.runInBackground {
+            FileUtil.writeTxtFileToSD(app.getAppContext(),"test.json",gson.toJson(gearRelateSet),"")
+        }
+    }
+
+    private fun loadData(){
+        CThreadPoolExecutor.runInBackground {
+           var buffer =FileUtil.readTxtFileFromSD(app.getAppContext(),"test.json",false)
+            var g = gson.fromJson(buffer.toString(),GearRelateSet::class.java)
+            gearRelateSet.postValue(g)
+        }
+    }
+
+    fun getGearRelateSet():LiveData<GearRelateSet> {
+        return gearRelateSet
+    }
+}
+
diff --git a/app/src/main/res/layout/fragment_content.xml b/app/src/main/res/layout/fragment_content.xml
index d059495..53d21a1 100644
--- a/app/src/main/res/layout/fragment_content.xml
+++ b/app/src/main/res/layout/fragment_content.xml
@@ -20,17 +20,6 @@
         android:textSize="26sp"/>
 
 -->
-    <Button
-    android:id="@+id/btn_next"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_marginLeft="16dp"
-    android:layout_marginRight="16dp"
-    android:layout_marginTop="32dp"
-        android:background="@drawable/route_item_select_bg"
-    android:textAllCaps="false"
-        android:textColor="@android:color/white"
-        android:textSize="@dimen/network_train_textsize32px"
-    android:text="淇濆瓨"/>
+
 
 </LinearLayout>
diff --git a/app/src/main/res/layout/fragment_gear_setting.xml b/app/src/main/res/layout/fragment_gear_setting.xml
index b69d301..e7c03f9 100644
--- a/app/src/main/res/layout/fragment_gear_setting.xml
+++ b/app/src/main/res/layout/fragment_gear_setting.xml
@@ -110,5 +110,17 @@
         android:id="@+id/tedit_4_gea_r"
         />
     </LinearLayout>
+    <Button
+        android:id="@+id/btn_setting_save"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="16dp"
+        android:layout_marginRight="16dp"
+        android:layout_marginTop="32dp"
+        android:background="@drawable/route_item_select_bg"
+        android:textAllCaps="false"
+        android:textColor="@android:color/white"
+        android:textSize="@dimen/network_train_textsize32px"
+        android:text="淇濆瓨"/>
 </LinearLayout>
 </ScrollView>
\ No newline at end of file

--
Gitblit v1.8.0