Для таких случаев я обычно создаю класс ApiResolver, в котором хранятся методы, объединяющие старый и новый способ. Вот пример:
public class ApiResolver {
private static final int SDK_VERSION = Build.VERSION.SDK_INT;
public static class Drawable {
@SuppressWarnings("deprecation")
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
public static void setBackground(View view, android.graphics.drawable.Drawable background) {
if (SDK_VERSION >= Build.VERSION_CODES.JELLY_BEAN)
view.setBackground(background);
else
view.setBackgroundDrawable(background);
}
}
public static class Display {
@SuppressWarnings("deprecation")
@TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2)
public static Point getSize(android.view.Display display) {
Point result = new Point();
if (SDK_VERSION >= Build.VERSION_CODES.HONEYCOMB_MR2) {
display.getSize(result);
} else {
result.x = display.getWidth();
result.y = display.getHeight();
}
return result;
}
}
}