项目框架图示
参考:MF项目整体框架图示
具体架构类
一、BaseModel
源码及分析:BaseModel源码及分析
二、SharePreferenceUtil(仅在Repository中使用
源码及分析:SharePreferenceUtil源码及分析
三、五个Entity类(对应于四个界面,后续根据需求新增了一个Entity类)
四、Constants
源码及分析:MF工具类Constants源码
五、Repository extends BaseModel
源码及分析:Repository extends BaseModel 源码及分析(比较核心的一个类)
六、BaseViewModel 《M extends Repository 》extends ViewModel
源码及分析:BaseViewModel源码及分析
七、VehicleApplication extends Application
源码及分析:VehicleApplication源码及分析
八、VehicleViewModel extends BaseViewModel 《Repository》
源码及分析:VehicleViewModel extends BaseViewModel<Repository>源码及分析
具体界面类
一、BaseActivity
BaseActivity<D extends ViewDataBinding,V extends BaseViewModel> extends FragmentActivity源码及分析
二、BaseFragment
BaseFragment<D extends ViewDataBinding, V extends BaseViewModel> extends Fragment源码及分析
三、自定义View SettingItemView对应的settIng_item.xml,含SwitchCompat
自定义View的setting_item.xml源码及分析(含SwitchCompat)
四、自定义View SettingItemView.java,含attrs.xml
自定义View SettingItemView.java源码及分析(含自定义属性attrs.xml)
五、activity_main.xml与MainActivity.java
MainActivity extends BaseActivity<ActivityMainBinding, VehicleViewModel>源码及分析
六、四个Fragment及对应xml
一个代码简单的例子
(1)assist_driving_fragment.xml与AssistDrivingFragment源码及分析
一个功能相对详细的例子,即驾驶偏好页面,含有开关和设置项
(2)driving_preference_fragment.xml与DrivingPreferenceFragment源码及分析
同2,剩余两个界面直接上实现效果与源码,不做具体分析了:
(3)common_user_fragment.xml与CommonUserFragment源码
(4)vehicle_setting_fragment.xml与VehicleSettingFragment源码