drake преди 3 години
родител
ревизия
893c053472

+ 10 - 0
sample/src/main/java/com/drake/net/sample/model/GameInfoModel.kt

@@ -0,0 +1,10 @@
+package com.drake.net.sample.model
+
+import kotlinx.serialization.Serializable
+
+@Serializable
+data class GameInfoModel(
+    var id: Int = 0,
+    var name: String = "",
+    var desc: String = "", // 该字段在接口数据中不存在, 但是由于存在默认值不会影响正常解析
+)

+ 0 - 6
sample/src/main/java/com/drake/net/sample/model/UserModel.kt

@@ -1,6 +0,0 @@
-package com.drake.net.sample.model
-
-import kotlinx.serialization.Serializable
-
-@Serializable
-data class UserModel(var name: String = "", var age: Int = 0, var height: Int = 0)

+ 3 - 3
sample/src/main/java/com/drake/net/sample/ui/fragment/PullRefreshFragment.kt

@@ -22,7 +22,7 @@ import com.drake.engine.base.EngineFragment
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.databinding.FragmentPullRefreshBinding
-import com.drake.net.sample.model.UserModel
+import com.drake.net.sample.model.GameInfoModel
 import com.drake.net.utils.scope
 
 
@@ -31,12 +31,12 @@ class PullRefreshFragment :
 
     override fun initView() {
         binding.rv.linear().setup {
-            addType<UserModel>(R.layout.item_list)
+            addType<GameInfoModel>(R.layout.item_list)
         }
 
         binding.page.onRefresh {
             scope {
-                val data = Get<List<UserModel>>("list") {
+                val data = Get<List<GameInfoModel>>("list") {
                     param("page", index)
                 }.await()
                 addData(data) {

+ 3 - 3
sample/src/main/java/com/drake/net/sample/ui/fragment/PushRefreshFragment.kt

@@ -23,7 +23,7 @@ import com.drake.engine.base.EngineFragment
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.databinding.FragmentPushRefreshBinding
-import com.drake.net.sample.model.UserModel
+import com.drake.net.sample.model.GameInfoModel
 import com.drake.net.utils.scope
 
 /** 本页面已禁用上拉加载(添加xml属性app:srlEnableLoadMore="false"), 只允许下拉刷新 */
@@ -32,12 +32,12 @@ class PushRefreshFragment :
 
     override fun initView() {
         binding.rv.linear().setup {
-            addType<UserModel>(R.layout.item_list)
+            addType<GameInfoModel>(R.layout.item_list)
         }
 
         binding.page.onRefresh {
             scope {
-                binding.rv.models = Get<List<UserModel>>("list").await()
+                binding.rv.models = Get<List<GameInfoModel>>("list").await()
             }
         }.autoRefresh()
     }

+ 2 - 2
sample/src/main/java/com/drake/net/sample/ui/fragment/converter/GsonConvertFragment.kt

@@ -20,7 +20,7 @@ import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.converter.GsonConverter
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
-import com.drake.net.sample.model.UserModel
+import com.drake.net.sample.model.GameInfoModel
 import com.drake.net.utils.scopeNetLife
 
 
@@ -36,7 +36,7 @@ class GsonConvertFragment :
         """.trimIndent()
 
         scopeNetLife {
-            binding.tvFragment.text = Get<List<UserModel>>("list") {
+            binding.tvFragment.text = Get<List<GameInfoModel>>("list") {
                 converter = GsonConverter() // 单例转换器, 此时会忽略全局转换器, 在Net中可以直接解析List等嵌套泛型数据
             }.await()[0].name
         }

+ 2 - 2
sample/src/main/java/com/drake/net/sample/ui/fragment/converter/SerializationConvertFragment.kt

@@ -20,7 +20,7 @@ import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.converter.SerializationConverter
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
-import com.drake.net.sample.model.UserModel
+import com.drake.net.sample.model.GameInfoModel
 import com.drake.net.utils.scopeNetLife
 
 class SerializationConvertFragment :
@@ -37,7 +37,7 @@ class SerializationConvertFragment :
         """.trimIndent()
 
         scopeNetLife {
-            val userList = Get<List<UserModel>>("list") {
+            val userList = Get<List<GameInfoModel>>("list") {
                 // 该转换器直接解析JSON中的data字段, 而非返回的整个JSON字符串
                 converter = SerializationConverter() // 单例转换器, 此时会忽略全局转换器
             }.await()

+ 1 - 1
sample/src/main/res/layout/item_list.xml

@@ -21,7 +21,7 @@
 
         <variable
             name="m"
-            type="com.drake.net.sample.model.UserModel" />
+            type="com.drake.net.sample.model.GameInfoModel" />
     </data>
 
     <LinearLayout