私はあなたがすでに答えを受け入れたことを知っていますが、あなたが言ったように、それはもろくて維持するのが難しいので、あなたは投稿されたコードを使うべきではありません。そうなる理由はありません。
public String getWifiStateStr() {
switch (mWifiManager.getWifiState()) {
case WifiManager.WIFI_STATE_DISABLING:
return "disabling";
case WifiManager.WIFI_STATE_DISABLED:
return "disabled";
case WifiManager.WIFI_STATE_ENABLING:
return "enabling";
case WifiManager.WIFI_STATE_ENABLED:
return "enabled";
case WifiManager.WIFI_STATE_UNKNOWN:
return "unknown";
default:
return null; //or whatever you want for an error string
}
}
これにより、定数割り当ての変更から保護され、6か月で読みやすくなります。エラー文字列を正しく処理すると仮定すると、許可される戻り値の数が増えた場合にバグが制限されます。
Androidのドキュメントで「定数」としてリストされている変数が表示されている場合、それはpublicstaticfinalとして宣言されていることを意味します。ClassName.CONST_VARIABLE_NAMEとしてアクセスできます。これらの変数はすべて大文字にするのが慣例ですが、言語の要件ではありません。一般的に言って、そのようなメンバーの実際の値を使用する必要はありません。何か奇妙なことをする必要がない限り、常にメンバー名でアクセスする必要があります。