我真的不需要代码,只需要这样做的结构。
我正在开发一个应用程序,其中我有一个带有许多方法和一个内部类 User 的 BaseAtivity(扩展 Activity)。我的应用程序中的所有其他活动都扩展了 BaseAtivity。
User 类具有使用 SharedPreferences 读取和写入数据的方法。因此,LoginActivity 扩展了 BaseActivity,并且在正确登录后,它调用 User.login(args) 以创建具有用户 ID、用户电子邮件和具有用户偏好的 json 的共享变量(在 MODE_PRIVATE 中)。
我需要创建一个内容提供程序,它将使用 query() 从登录的用户中检索数据。内容提供者将从 sharedpreferences 中获取数据并将它们提供给调用内容提供者的应用程序。
由于我的内容提供者扩展了 ContentProvider 我无法扩展 BaseActivity (这可能是一个解决方案)。在 ContentProvider 的方法 onCreate() 中调用时
User user = new BaseActivity.User();
我收到错误....“'com.example.myapp.BaseActivity' 不是封闭类”。
有没有办法从我的 ContentProvider 调用内部类 User?