数値をデフォルトの国コードにフォーマットしようとしていますが、その方法はわかっていますが、それを行うと、これはAPI21専用であるというエラーが表示されます。API16をターゲットにしています。古い方法を使用すると、メソッドが非推奨であるというエラー? API 16でそのメソッドを使用するにはどうすればよいですか?
ありがとう!
ドキュメント: http://developer.Android.com/reference/Android/telephony/PhoneNumberUtils.html#FORMAT_NANP
@qbixで言及されている非推奨のメソッドを使用した次の例。
正しい方法を使用するには、SDKのレベルを確認することをお勧めします。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop) {
yourTextView.setText(PhoneNumberUtils.formatNumber(yourStringPhone, Locale.getDefault().getCountry()));
} else {
yourTextView.setText(PhoneNumberUtils.formatNumber(yourStringPhone)); //Deprecated method
}
ドキュメントへのリンクは、参照しているフォーマット方法を識別していません。非推奨のメソッドは formatNumber(String source) だと思います。
「非推奨」の一般的な定義には、将来削除される可能性のある機能が含まれますが、既存のコードを壊すのはAPIからアイテムを削除しないというAndroidポリシーです。この例は AbsoluteLayout で、これはAPIレベル3で非推奨になりましたが、APIの一部のままです。Androidでは、「非推奨」は、代替のより良い方法があることを示しています。同じ結果であり、代わりに使用することを強くお勧めします(可能な場合)。
ここで、改善された代替方法はAPIレベル21でのみ使用できます。より低いAPIレベルのデバイスをサポートするために、非推奨の方法を安全に使用できます。すぐになくなることはありません。
もう1つのオプションは、PhoneNumberUtils
の- ソースコード を調べて、その一部を使用して、必要な処理を実行し、サポートする独自のformatNumber()
メソッドを作成できるかどうかを確認することです。 API16-おそらく努力する価値はありません。