最近做个项目,想把几个大的模块都拆成一个个module,这之间要用到userId

userId只有app 主工程中登录后会被赋值  ,然后存到sharepreference  ,

由于sharepreferenceUtils  这个工具类引用了很多类,如果把这个类放到公共module,需要把其他的引用类都搬过去,工作量巨大

 

现在想到个办法   

在公共module类中创建个单例,定义个变量,然后app登录之后,赋值进去,因为单例时静态的,所以就能全局用了

object DataHelperImp :DataHelper {
var userId=""

}




//登录的时候,给这个单例赋值.其他的module就可以用了

fun login(){
//..............省略请求服务器登录代码

DataHelperImp.userId =loginData.userId
}