完成以下目标
- 把StringUtil变为单例,即每次注入的都是同一个对象,不需要反复创建对象
- 注入StringUtil到QQLoginService、WechatLoginService、MainViewModel和MainActivity中
- 注入类型为Application的context到QQLoginService中,注入类型为Activity的context到WechatLoginService中
- 把LoginService的两个实现类同时注入到MainViewModel中,属性的类型必须是LoginService接口,也就是如何区分两个类型都是LoginService的注入对象
- 在DetailViewModel中拿到Activity的intent里面key为EXTRA_KEY_UUID、类型为String的属性
- 在DetailActivity中使用经过Hilt注入的DetailViewModel对象
- app依赖了一个名为wechat的第三方库(在本demo中为项目内部的module),我们无法对wechat库里面的类进行修改。现在在wechat库中有一个WechatShareService接口和对应的WechatShareServiceImpl实现类,把实现类注入到DetailActivity中,但类型要声明为WechatShareService