1

このためのコードは本当に必要ありません。それを行うための構造だけです。

私は、いくつかのメソッドと内部クラス 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 を呼び出す方法はありますか?

4

2 に答える 2