### 🥑 WanAndroid基础款(MVVM+Kotlin+Jetpack+组件化)
| 首页 | 项目 | 导航 |
| :--: | :--: | :--: |
| <img src="/github_imgs/w1.jpeg" width="256"/> | <img src="/github_imgs/w2.jpeg" width="256"/> | <img src="/github_imgs/w3.jpeg" width="256"/> |
| 登录 | 个人 | 收藏 |
| :--: | :--: | :--: |
| <img src="/github_imgs/w4.jpeg" width="256"/> | <img src="/github_imgs/w5.jpeg" width="256"/> | <img src="/github_imgs/w6.jpeg" width="256"/> |
---
### 🍓 项目介绍
项目采用组件化,架构如下:
| - | - | app<br>module | - | - |
| :--: | :--: | :--: | :--: | :--: |
| 用户<br>kb_user<br>module | 首页<br>kb_home<br>module | 项目<br>kb_project<br>module | 导航<br>kb_navigation<br>module | 个人<br>kb_me<br>module |
| - | - | 公共<br>kb_common<br>module | - | - |
`BaseViewModel.kt`
```kotlin
typealias vmBLOCK = suspend () -> Unit
open class BaseViewModel : ViewModel() {
protected fun launch(block: vmBLOCK) {
viewModelScope.launch {
try {
block.invoke()
} catch (e: Exception) {
onError(e)
}
}
}
private fun onError(e: Exception) {
Log.d("onError", "onError: $e")
}
}
```
`BaseRepository.kt`
```kotlin
open class BaseRepository {
suspend fun <T> dealResp(
block: suspend () -> BaseResp<T>,liveData: RespStateData<T>,) {
var result = BaseResp<T>()
result.responseState = BaseResp.ResponseState.REQUEST_START
liveData.value = result
try {
result = block.invoke()
when (result.errorCode) {
Constants.HTTP_SUCCESS -> {
result.responseState = BaseResp.ResponseState.REQUEST_SUCCESS
}
Constants.HTTP_AUTH_INVALID -> {
result.responseState = BaseResp.ResponseState.REQUEST_FAILED
ToastUtil.showMsg("认证过期,请重新登录!")
ARouter.getInstance().build(Constants.PATH_LOGIN).navigation()
}
else -> {
result.responseState = BaseResp.ResponseState.REQUEST_FAILED
ToastUtil.showMsg("code:" + result.errorCode.toString() + " / msg:" + result.errorMsg)
}
}
} catch (e: Exception) {
when (e) {
is UnknownHostException,
is HttpException,
is ConnectException,
-> {
//网络error
ToastUtil.showMsg("网络错误!")
}
else -> {
ToastUtil.showMsg("未知错误!")
}
}
result.responseState = BaseResp.ResponseState.REQUEST_ERROR
} finally {
liveData.value = result
}
}
}
```
---
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论



























收起资源包目录





































































































共 217 条
- 1
- 2
- 3
资源评论


智慧安全方案
- 粉丝: 3927
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于计算机算法设计及其评价标准.docx
- 《土木工程CAD》-章在线测试DOC.doc
- 大学课程设计PLC自动卷帘门控制系统.doc
- 单片机技术教案综合版.doc
- 计算机文字录入键盘指法技术分析.docx
- 大数据在军民融合中的应用.docx
- 班本课程中促进小班幼儿深度学习的策略.docx
- 企业项目管理的影响因素有哪些.docx
- PLC控制系统的设计与制作抽查题.doc
- ARM嵌入式汽车节能控制系统的研究设计.doc
- PLC控制柜施工实施方案.docx
- 大数据时代高职院图书馆读者服务工作新构想.docx
- 单片机数字秒表实施方案.doc
- 借助编程软件求解超越方程.doc
- 游戏区引发幼儿深度学习的探索与策略.docx
- 数字雕塑在互联网IP衍生品造型设计中的应用研究.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
