- ✅ ApiResult - 统一的结果包装类,支持 Success/Error/Exception/Loading 状态
- ✅ ApiResponse - 标准接口响应结构,支持自动转换
- ✅ BaseRepository - Repository基类,提供安全的API调用方法
- ✅ NetworkErrorInterceptor - 智能错误拦截器,统一处理HTTP错误
- ✅ RetrofitClient - 灵活的Retrofit客户端工厂
- ✅ Retrofit2 + OkHttp + Moshi
- ✅ Kotlin Coroutines 协程支持
- ✅ Jetpack Compose UI
- ✅ ViewModel + StateFlow 状态管理
- ✅ 模拟网络请求(成功/失败/异常)
- ✅ 完整的Loading状态管理
- ✅ 错误处理和用户友好提示
- ✅ 现代化的Compose UI界面
class YourRepository : BaseRepository() {
suspend fun getData(): ApiResult<YourData> {
return safeApiCall { apiService.getData() }
}
}class YourViewModel : ViewModel() {
private val _data = MutableStateFlow<ApiResult<YourData>>(ApiResult.Loading)
val data: StateFlow<ApiResult<YourData>> = _data.asStateFlow()
fun loadData() {
viewModelScope.launch {
_data.value = repository.getData()
}
}
}when (dataState) {
is ApiResult.Loading -> CircularProgressIndicator()
is ApiResult.Success -> ShowSuccessUI(dataState.data)
is ApiResult.Error -> ShowErrorUI(dataState.message)
is ApiResult.Exception -> ShowExceptionUI(dataState.exception)
}已经构建并安装成功!应用包含:
- 加载Banner按钮 - 演示网络请求的各种状态
- 加载文章按钮 - 展示错误处理机制
- 状态指示器 - 清晰展示Loading/Success/Error状态
- 用户友好提示 - 完整的错误信息展示
{
"errorCode": 0,
"errorMsg": "成功",
"data": { ... }
}{ "直接": "返回数据" }- HTTP错误(401, 403, 404, 500等)自动映射
- 网络连接异常处理
- 业务逻辑错误统一处理
- 自定义异常类型支持
- 添加新API: 创建接口 → 实现Repository → 在ViewModel调用
- 自定义拦截器: 继承Interceptor接口,添加到OkHttpClient
- 缓存策略: 在Repository层实现本地缓存逻辑
- 认证处理: 通过拦截器自动添加Token
- 集成真实的WanAndroid API
- 添加网络缓存策略
- 实现文件上传下载
- 集成Hilt依赖注入(可选)
- 添加网络状态监听
🎊 恭喜!你现在拥有了一个功能完整、易于扩展的现代化Android网络请求框架!