目前来讲就是通过注解的方式可以实现
注解的方式就是将这个类交给框架进行管理
举例:
新建的一个viewmodel需要加上这些注解
@ActivityScoped
class TerminalLoginViewModel @Inject constructor() : ViewModel() { … }
其中@ActivityScoped注解表明能够被这个Activity扫描到
@Inject这个注解表明以后面这种构造函数的方式进行实例化对象
如何进行使用:
在另外一个需要使用这个viewModel的地方加上一个注解@AndroidEntryPoint,然后再后面通过下面相应的变量前面加上@Inject 就可以直接使用这个变量了
举例:
@AndroidEntryPoint
class SellerLoginFragment : CustomFragment() {
/*
通过注入的方式获取对象
*/
@Inject
lateinit var viewModel: SellerLoginViewModel
}
其中:
@AndroidEntryPoint 表明可以被容器管理,
下面的这个@Inject则表明是进行自动注入了可以用于获取对象了