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