私のアプリには、共有設定を利用したいアクティビティがいくつかあります。最初に、各アクティビティで SharedPreferences を利用するメソッドを作成しましたが、これはうまく機能しました。ただ、同じデータを使うアクティビティが複数あるので、基本的に似たようなメソッドを複数箇所に挟んでいます。したがって、これらすべてのメソッドを処理する目的で特別にクラスを作成する方が理にかなっているように思えました。
残念ながら、私はそれを正しく行う方法を理解していません。
「getSharedPreferences は AppPrefs 型に対して未定義です」と表示されるため、これはコンパイルされません。</p>
public class AppPrefs {
public void foo() {
SharedPreferences settings = getSharedPreferences("MyAppPrefs", 0);
}
}
最後に、おそらく SharedPreferences はインターフェイスなので、これを行うことができますが、継承されたメソッドを実装する必要があると思いました。これらのメソッドをオーバーライドする理由はないので、これを行う理由もありません。
public class AppPrefs implements SharedPreferences {
public void foo() {
SharedPreferences settings = getSharedPreferences("MyAppPrefs", 0);
}
}
ここで何をするのが理にかなっていますか?私が見逃している概念はありますか?誰か詳しく説明してもらえますか?ありがとう。