0

私のAndroidプロジェクトには、いくつかのアクティビティクラスと、単純なJavaクラスがあります。コンテキストやビューから完全に独立しているものもありますが、特定のコンテキストメソッドにアクセスするために必要なものもあります。

私はそれについて読みました、そして何人かの人々は彼らがそのメソッドを必要とするすべてのクラスにいくつかの活動の文脈を渡すと言います。ビューを渡してからコンテキストを取得する、またはこのクラスがアクティビティを拡張する必要がある他の人...¬¬

しかし、たとえば、次のようなコンテキストのメソッドを1回だけ呼び出すクラスがあります。

getSharedPreferences(configNameFile, 0);
getString(R.string.text);
...

したがって、これを常に行うためにどのパターンを使用しているのかを知りたいと思います。

4

2 に答える 2

1

これを行うための私の個人的なお気に入りの方法は次のとおりです。

RoboGuiceを使用した依存性注入

また

コンテキストが必要ないことを確認してください

可能であれば、他のファイルでコンテキストを使用してから、アクティビティを使用しないようにしてください。本当に必要な場合は、ほとんどの場合ラッパーを作成します。たとえば、設定の場合、共有設定でそれを実行できる設定インターフェイスを作成します。後で設定の実装を変更したいときはいつでも、インターフェースの実装を交換することで簡単に行うことができます。本当に必要な場合は、静的なアプリケーションコンテキストを使用することをお勧めします

于 2012-08-15T12:16:13.023 に答える
0

また、そのメソッドにパラメータを受け入れさせることができますContext。たとえば、次のようになります。

public void getPrefs(Context context){
   context.getSharedPreferences(configNameFile, 0);
   context.getString(R.string.text);
}

次に、アクティビティで現在のコンテキストをアクティビティに渡します。

public void getPrefs(this);
于 2012-08-15T12:27:33.753 に答える