该案例为房产中介的一个项目管控工具,里面包括项目管控、销售数据、电子客档、即时通讯等。
架构设计
采用 mvvm 模式将 Activity 中的业务逻辑全部分离出来,让 Activity 只做UI 逻辑的处理,所有跟Android API 无关的业务逻辑由 ViewModel 层来完成,而 Model 层只做数据获取(数据来源于远程服务或者本地数据库 room),降低了耦合度,使得层级职责更加明确,并结合livedata 和databinding的使用,避免 ViewModel 层持有 V 层引用。ViewModel 中配合 kotlin 的协程使异步代码看起来更加的简洁直观