たとえば、次を使用して、新しいメソッドを自分で説明する必要があります。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// Use methods introduced in API 11. (i.e. Notification.Builder)
} else {
// Use old methods to ensure backwards compatibility.
}
これらのチェックを配置するのに適した場所は、ユーティリティ クラス (つまりCompatUtils.java
) です。たとえば、Context
引数を取り、 new を返す静的メソッドを作成できNotification
ます。
public static buildNotification(Context ctx) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// Create and return the Notification using Notification.Builder
} else {
// Create and return the Notification using pre-HoneyComb methods
}
}
次にCompatUtils.buildNotification(this)
、あなたの中で呼び出しActivity
て、新しい を作成しますNotification
。この種の詳細を抽象化すると、Activity
簡潔さが保たれ、後で必要になった場合に簡単に変更できます。
もちろん、古いメソッドを使用して を作成する方がよい考えかもしれません。Notification
いずれにせよそれらを実装する必要があり、Notification.Builder
はほとんど便宜上のものだからです。とはいえ、後で同様の問題が発生した場合に備えて、これは心に留めておくべきことです。
編集:
Notification.Builder
もAndroidサポートパッケージで提供されているので、この場合はそれをそのまま使用すればよいのですが、互換パッケージで提供されていないメソッドについては、上記のデザインパターンを使用する必要があります。