私が通常行っていることをお勧めします。
ユーザーが画面上で読むもの、または XML レイアウトから参照されるものすべてについて、strings.xml を使用します。これには 1 と 2 が含まれると思います。ただし、AlertDialogues ではandroid.R.string.ok
orandroid.R.string.cancel
なども使用できることを覚えておいてください。それは用途によって異なります。
また、プロジェクトの構成値または API キーについては、文字列、整数などを含む config.xml を使用できます。後でコードに飛び込むことなくこれらの値を簡単に変更できるようにするものです。
AsyncTask の場合、実行する作業はさまざまですが、通常はネットワーク、DB、またはディスク操作であり、private static final String URL_PT1 = "http://...";
そのアドレス (または DB 列) を知ることにのみ関心があるため、クラス自体に etc を含めようとします。 、またはファイルプレフィックス)
キー名 (Intent 引数と Fragment 引数の両方) については、extra で適切に値を割り当てるクラスを使用private static final String KEY_VALUE = "renjith.Key.MyClassName.VALUE";
して作成します。public static Bundle getIntentExtras(String value)
これは、その 1 つのクラスだけがその KEY 値について知る必要があるためです。これらのパブリックをアクセス可能にする理由はなく、外部のクラスが間違っているとエラーが発生するだけです。
ログ (5) の場合は、すべてのクラスに a を作成しますprivate static final String TAG = "Renjith.ThisClassName";
(フラグメントの場合は、TAG をトランザクションで使用できるように公開します)。そうすれば、LogCat Renjith.* でフィルターを作成でき、このログがどこから来ているのかを簡単に特定できます。
編集:
共有設定の場合、次のように異なります。
GlobalSharedPreferences の場合、Context とそのクラス内のすべてのキーを受け取る必要がある静的な set/get メソッドでそれらを処理する 1 つのクラスを作成しますprivate static
。
ローカルの共有設定 (1 つのクラスのみが保存/取得に関心がある) の場合、そのクラスと同じ名前の SharedPreferences ファイルと、private static
その 1 つのクラス内のすべてのキーを処理します。
繰り返しますが、同じ哲学で、これらの詳細について本当に知る必要があるクラスだけがそれらについて知り、直接メソッド呼び出しで残りのクラスに抽象化します。