Pārlūkot izejas kodu

1.添加获取mmse试题库接口

王鹏鹏 2 gadi atpakaļ
vecāks
revīzija
393315c7cd

+ 3 - 0
.idea/misc.xml

@@ -82,6 +82,7 @@
         <entry key="..\:/workspace/hcp-pad/login/src/main/res/drawable/bg_login_btn.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/login/src/main/res/drawable/bg_login_edit.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/login/src/main/res/layout/activity_login.xml" value="0.22826086956521738" />
+        <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/drawable/bg_next_question.xml" value="0.1615" />
         <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/layout/activity_main.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/layout/activity_number.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/layout/activity_questions.xml" value="0.4" />
@@ -90,6 +91,8 @@
         <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/layout/fragment_selected_item.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/layout/fragment_single_judgment.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/layout/fragment_sound_record.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/layout/item_number.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pad/mmse/src/main/res/layout/item_year.xml" value="1.0" />
         <entry key="..\:/workspace/hcp-pad/personalcenter/src/main/res/drawable/bg_center.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/personalcenter/src/main/res/drawable/bg_common_head_layout.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/personalcenter/src/main/res/drawable/bg_personal_center.xml" value="0.219" />

+ 4 - 0
baselib/src/main/java/com/yingyangfly/baselib/base/BaseFragment.kt

@@ -13,6 +13,7 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout
 import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener
 import com.yingyangfly.baselib.R
 import com.yingyangfly.baselib.databinding.ActivityBaseBinding
+import com.yingyangfly.baselib.db.AppDataBase
 import com.yingyangfly.baselib.dialog.LoadingDialog
 import com.yingyangfly.baselib.ext.getDbClass
 import com.yingyangfly.baselib.ext.initBar
@@ -47,6 +48,8 @@ abstract class BaseFragment<DB : ViewDataBinding> : Fragment(), OnRefreshLoadMor
         LoadingDialog(mContext)
     }
 
+    var db: AppDataBase? = null
+
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
@@ -63,6 +66,7 @@ abstract class BaseFragment<DB : ViewDataBinding> : Fragment(), OnRefreshLoadMor
         )
         binding.root.layoutParams = params
         bindingBase.llytContent.addView(ViewTool.inflateFragmentPixels(activity, binding.root,1194, 834))
+        db = AppDataBase.getInstance(mContext)
         initMVVM()
         initViews()
         initListener()

+ 1 - 1
baselib/src/main/java/com/yingyangfly/baselib/db/QuestionsDao.kt

@@ -18,7 +18,7 @@ interface QuestionsDao : BaseDao<QuestionsBean> {
     fun getAllQuestions(): MutableList<QuestionsBean>
 
     @Query("select * from Questions where id = :id")
-    fun getQuestion(id: Int): QuestionsBean
+    fun getQuestion(id: String): QuestionsBean
 
     @Query("select * from Questions order by id desc ")
     fun getAllByIdDesc(): MutableList<QuestionsBean>

+ 1 - 1
baselib/src/main/res/values/strings.xml

@@ -1,5 +1,5 @@
 <resources xmlns:tools="http://schemas.android.com/tools">
-    <string name="app_name">baselib</string>
+    <string name="app_name">base</string>
     <string name="good" tools:ignore="ResourceName">好的</string>
     <string name="there_is_currently_no_data_available">暂时没有数据</string>
 </resources>

+ 0 - 14
mmse/src/main/java/com/yingyangfly/mmse/activity/questions/QuestionsViewModel.kt

@@ -1,21 +1,7 @@
 package com.yingyangfly.mmse.activity.questions
 
-import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.mvvm.BaseViewModel
-import com.yingyangfly.mmse.net.MMSE_API
 
 class QuestionsViewModel : BaseViewModel() {
 
-    /**
-     * 获取mmse试题
-     */
-    fun getQuestions(
-        fail: ((msg: String) -> Unit)? = null,
-        success: ((success: List<QuestionsBean>?) -> Unit)? = null,
-    ) = launchFlow(true) {
-        MMSE_API.getQuestions()
-    }.runUI(
-        success,
-        fail
-    )
 }

+ 24 - 0
mmse/src/main/java/com/yingyangfly/mmse/adapter/NumberAdapter.kt

@@ -0,0 +1,24 @@
+package com.yingyangfly.mmse.adapter
+
+import android.text.TextUtils
+import com.yingyang.mmse.R
+import com.yingyang.mmse.databinding.ItemNumberBinding
+import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
+import com.yingyangfly.baselib.ext.setTextColorResource
+
+/**
+ * 年adapter
+ */
+class NumberAdapter(override val layoutId: Int = R.layout.item_number) :
+    BaseDataBindingAdapter<String, ItemNumberBinding>() {
+    override fun onBindViewHolder(binding: ItemNumberBinding, item: String, position: Int) {
+        binding.data = item
+        if (TextUtils.equals("删除", item)) {
+            binding.tvNumber.setTextColorResource(R.color.color_FFCF0404)
+        } else if (TextUtils.equals("确定", item)) {
+            binding.tvNumber.setTextColorResource(R.color.color_FF4A76FF)
+        } else {
+            binding.tvNumber.setTextColorResource(R.color.color_FF222222)
+        }
+    }
+}

+ 31 - 7
mmse/src/main/java/com/yingyangfly/mmse/fragment/YearFragment.kt

@@ -1,29 +1,53 @@
 package com.yingyangfly.mmse.fragment
 
+import androidx.recyclerview.widget.GridLayoutManager
 import com.yingyang.mmse.R
 import com.yingyang.mmse.databinding.FragmentNumberBinding
 import com.yingyangfly.baselib.base.BaseFragment
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.mmse.adapter.NumberAdapter
 
 /**
  * 数字输入类
  */
 class YearFragment : BaseFragment<FragmentNumberBinding>() {
 
-    override fun initViews() {
+    private val numberList = mutableListOf<String>()
+    private val numberAdapter by lazy { NumberAdapter() }
 
+    override fun initViews() {
+        if (db != null) {
+            val dao = db?.getQuestionsDao()
+            if (dao != null) {
+                val question = dao.getQuestion("1")
+                if (question != null) {
+                    binding.data = question
+                }
+            }
+        }
+        binding.rvNum.layoutManager = GridLayoutManager(mContext, 3)
+        binding.rvNum.adapter = numberAdapter
     }
 
     override fun initListener() {
-        binding.tvTitle.setOnSingleClickListener {
-            requireActivity().supportFragmentManager.beginTransaction()
-                .setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_in_left)
-                .replace(R.id.layoutOperate, SelectedItemFragment::class.java, null)
-                .commit()
+        binding {
+            btnNext.setOnSingleClickListener {
+                requireActivity().supportFragmentManager.beginTransaction()
+                    .setCustomAnimations(android.R.anim.slide_in_left, android.R.anim.slide_in_left)
+                    .replace(R.id.layoutOperate, SelectedItemFragment::class.java, null)
+                    .commit()
+            }
         }
     }
 
     override fun initData() {
-
+        numberList.clear()
+        for (i in 1..9) {
+            numberList.add(i.toString())
+        }
+        numberList.add("删除")
+        numberList.add("0")
+        numberList.add("确定")
+        numberAdapter.setData(numberList)
     }
 }

+ 18 - 0
mmse/src/main/res/drawable/bg_next_question.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <item>
+        <shape android:shape="rectangle">
+            <corners android:radius="@dimen/divider_13px" />
+            <gradient
+                android:angle="180"
+                android:endColor="@color/color_FF4174FF"
+                android:startColor="@color/color_FF6D9AFF"
+                android:type="linear"
+                android:useLevel="true" />
+        </shape>
+    </item>
+
+</layer-list>

+ 68 - 3
mmse/src/main/res/layout/fragment_number.xml

@@ -4,20 +4,85 @@
     xmlns:tools="http://schemas.android.com/tools"
     tools:ignore="ResourceName">
 
+    <data>
+
+        <variable
+            name="data"
+            type="com.yingyangfly.baselib.db.QuestionsBean" />
+    </data>
+
     <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-        <androidx.appcompat.widget.AppCompatTextView
+        <TextView
             android:id="@+id/tvTitle"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:text="number"
-            app:layout_constraintBottom_toBottomOf="parent"
+            android:layout_marginTop="@dimen/divider_27px"
+            android:text="@{data.reviewItem}"
+            android:textColor="@color/color_FF222222"
+            android:textSize="@dimen/divider_34px"
+            android:textStyle="bold"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
+        <com.google.android.material.card.MaterialCardView
+            android:layout_width="@dimen/divider_398px"
+            android:layout_height="@dimen/divider_448px"
+            android:layout_marginTop="@dimen/divider_28px"
+            android:theme="@style/Theme.MaterialComponents.NoActionBar"
+            app:cardBackgroundColor="@android:color/white"
+            app:cardCornerRadius="@dimen/divider_20px"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvTitle"
+            app:strokeColor="@color/color_FF979797"
+            app:strokeWidth="@dimen/divider_1px">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="vertical">
+
+                <androidx.appcompat.widget.AppCompatTextView
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/divider_62px"
+                    android:background="@color/color_FF4A76FF"
+                    android:gravity="center_vertical"
+                    android:paddingStart="@dimen/divider_43px"
+                    android:textColor="@android:color/white"
+                    android:textSize="@dimen/divider_34px"
+                    android:textStyle="bold"
+                    tools:ignore="RtlSymmetry"
+                    tools:text="@string/app_name" />
+
+                <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/rvNum"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginStart="@dimen/divider_13px"
+                    android:layout_marginTop="@dimen/divider_6px"
+                    android:layout_marginEnd="@dimen/divider_13px" />
+
+            </LinearLayout>
+        </com.google.android.material.card.MaterialCardView>
+
+        <androidx.appcompat.widget.AppCompatButton
+            android:id="@+id/btnNext"
+            android:layout_width="@dimen/divider_240px"
+            android:layout_height="@dimen/divider_68px"
+            android:layout_marginBottom="@dimen/divider_60px"
+            android:background="@drawable/bg_next_question"
+            android:gravity="center"
+            android:text="@string/next_question"
+            android:textColor="@android:color/white"
+            android:textSize="@dimen/divider_28px"
+            android:textStyle="bold"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 

+ 40 - 0
mmse/src/main/res/layout/item_number.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <data>
+
+        <variable
+            name="data"
+            type="java.lang.String" />
+    </data>
+
+    <com.google.android.material.card.MaterialCardView
+        android:layout_width="@dimen/divider_94px"
+        android:layout_height="@dimen/divider_68px"
+        android:layout_marginStart="@dimen/divider_15px"
+        android:layout_marginTop="@dimen/divider_30px"
+        android:layout_marginEnd="@dimen/divider_15px"
+        android:theme="@style/Theme.MaterialComponents.NoActionBar"
+        app:cardBackgroundColor="@color/color_FFF6F4F4"
+        app:cardCornerRadius="@dimen/divider_8px"
+        app:strokeColor="@color/color_FF979797"
+        app:strokeWidth="@dimen/divider_1px">
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tvNumber"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_gravity="center"
+            android:gravity="center"
+            android:text="@{data}"
+            android:textColor="@color/color_FF222222"
+            android:textSize="@dimen/divider_34px"
+            android:textStyle="bold"
+            tools:text="@string/app_name" />
+
+    </com.google.android.material.card.MaterialCardView>
+
+</layout>

+ 8 - 2
mmse/src/main/res/values/colors.xml

@@ -1,4 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
-<resources>
-
+<resources xmlns:tools="http://schemas.android.com/tools">
+    <color name="color_FF222222" tools:ignore="ResourceName">#FF222222</color>
+    <color name="color_FF6D9AFF" tools:ignore="ResourceName">#FF6D9AFF</color>
+    <color name="color_FF4174FF" tools:ignore="ResourceName">#FF4174FF</color>
+    <color name="color_FF979797" tools:ignore="ResourceName">#FF979797</color>
+    <color name="color_FF4A76FF" tools:ignore="ResourceName">#FF4A76FF</color>
+    <color name="color_FFF6F4F4" tools:ignore="ResourceName">#FFF6F4F4</color>
+    <color name="color_FFCF0404" tools:ignore="ResourceName">#FFCF0404</color>
 </resources>

+ 4 - 0
mmse/src/main/res/values/dimens.xml

@@ -7,6 +7,7 @@
     <dimen name="divider_667px" tools:ignore="ResourceName">667px</dimen>
     <dimen name="divider_597px" tools:ignore="ResourceName">597px</dimen>
     <dimen name="divider_533px" tools:ignore="ResourceName">533px</dimen>
+    <dimen name="divider_448px" tools:ignore="ResourceName">448px</dimen>
     <dimen name="divider_440px" tools:ignore="ResourceName">440px</dimen>
     <dimen name="divider_432px" tools:ignore="ResourceName">432px</dimen>
     <dimen name="divider_430px" tools:ignore="ResourceName">430px</dimen>
@@ -16,6 +17,7 @@
     <dimen name="divider_415px" tools:ignore="ResourceName">415px</dimen>
     <dimen name="divider_413px" tools:ignore="ResourceName">413px</dimen>
     <dimen name="divider_409px" tools:ignore="ResourceName">409px</dimen>
+    <dimen name="divider_398px" tools:ignore="ResourceName">398px</dimen>
     <dimen name="divider_377px" tools:ignore="ResourceName">377px</dimen>
     <dimen name="divider_360px" tools:ignore="ResourceName">360px</dimen>
     <dimen name="divider_354px" tools:ignore="ResourceName">354px</dimen>
@@ -39,6 +41,7 @@
     <dimen name="divider_249px" tools:ignore="ResourceName">249px</dimen>
     <dimen name="divider_245px" tools:ignore="ResourceName">245px</dimen>
     <dimen name="divider_241px" tools:ignore="ResourceName">241px</dimen>
+    <dimen name="divider_240px" tools:ignore="ResourceName">240px</dimen>
     <dimen name="divider_237px" tools:ignore="ResourceName">237px</dimen>
     <dimen name="divider_230px" tools:ignore="ResourceName">230px</dimen>
     <dimen name="divider_229px" tools:ignore="ResourceName">229px</dimen>
@@ -81,6 +84,7 @@
     <dimen name="divider_100px" tools:ignore="ResourceName">100px</dimen>
     <dimen name="divider_98px" tools:ignore="ResourceName">98px</dimen>
     <dimen name="divider_96px" tools:ignore="ResourceName">96px</dimen>
+    <dimen name="divider_94px" tools:ignore="ResourceName">94px</dimen>
     <dimen name="divider_90px" tools:ignore="ResourceName">90px</dimen>
     <dimen name="divider_88px" tools:ignore="ResourceName">88px</dimen>
     <dimen name="divider_82px" tools:ignore="ResourceName">82px</dimen>

+ 1 - 0
mmse/src/main/res/values/strings.xml

@@ -1,4 +1,5 @@
 <resources xmlns:tools="http://schemas.android.com/tools">
     <string name="home_pager" tools:ignore="ExtraTranslation,ResourceName">首页</string>
     <string name="mmse_evaluation">MMSE测评</string>
+    <string name="next_question" tools:ignore="ResourceName">下一题</string>
 </resources>