码农A:看见标题我就震惊了。
码农B:我也是。
码农C:我琢磨着,UC震惊部还缺人吗?这小编是个人才啊。
某小编:标题是震惊的,但内容是朴实无华的。
前言
Android四大组件:Activity、Service、BroadcastReceiver、ContentProvider。它们的作用分别是:
Activity—>配合View展示界面
Service—>长时间在后台运行不与用户直接交互
BroadcastReceiver—>接收广播
ContentProvider—>提供数据给其他模块使用
1、MVVM架构模式概览
这是使用MVVM架构模式+Kotlin协程+JetPack(ViewModel+LiveData)+Retrofit的架构,实现WanAndroid登录接口的小DEMO,后续会慢慢完善WanAndroid客户端
1、ViewModel
为了从界面控制器Activity/Fragment逻辑中分离出视图View数据所有权,架构组件为界面控制器提供了 ViewModel 辅助程序类,该类负责为界面准备数据。在配置更改期间会自动保留 ViewModel 对象,以便它们存储的数据立即可供下一个 Activity 或 Fragment 实例使用。
2、LiveData
LiveData 是一种可观察的数据存储器类,具有生命周期感知能力,意指它遵循其他应用组件如 Activity、Fragment 或 Service 生命周期,可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。LiveData 对象通常存储在 ViewModel 对象中,并可通过 getter 方法进行访问。
3、Kotlin协程
协程依附在线程上,可以实现顺序编写异步代码,自动进行线程切换。并且ViewModelScope为应用中的每个 ViewModel 定义了 ViewModelScope。如果 ViewModel 已清除,则在此范围内启动的协程都会自动取消。
4、Retrofit
将服务接口中的网络请求函数声明为suspend挂起接口函数,以支持Kotlin线程,并将suspend函数结果作为 LiveData 对象传送。