当用户没有互联网连接时尝试使用 Gson 和 Retrofit2 读取 json 信息时,我试图阻止我的应用程序崩溃。有任何想法吗?
我的代码:
分段
class ManuFragment : Fragment() {
private lateinit var viewModel: ManuFragmentVM
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
_binding = FragmentManuBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel = ViewModelProvider(this).get(ManuFragmentVM::class.java)
viewModel.apply {
manufacturer.observe(requireActivity(), {loadRecyclerView(it)})
setup()
}
}
Run Code Online (Sandbox Code Playgroud)
查看模型
class ManuFragmentVM : ViewModel() {
val manufacturer = MutableLiveData<List<Manufacturers>>()
fun setup() {
viewModelScope.launch(Dispatchers.Default) {
manufacturer.postValue(CarsRepository().getAllManufacturers())
}
}
Run Code Online (Sandbox Code Playgroud)
界面
interface ManufacturerApi {
@GET("url.json")
suspend …Run Code Online (Sandbox Code Playgroud) 我无法决定是否使用警报管理器或工作管理器运行一些重复的后台工作: