Можно ли иметь так много устаревших методов в обратно-совместимом коде?

Я пишу приложение для Android, ориентированное на уровень API 15, но я также хочу сохранить обратную-совместимость со старыми уровнями API (мин-сдк 7 ).

Я собираюсь достичь этого, установив условия, определяющие, какой код использовать в соответствии с текущим уровнем API (, как показано ниже). Я полагаю, что это хороший подход, я просто хочу спросить, нормально ли иметь так много устаревших методов (, таких какdisplay.getWidth()), потому что между уровнями API 8 и 15 довольно много изменений. И если да, то правильно ли использовать @SuppressWarning("deprecation")в данном случае?

Не лучше ли использовать несколько APK, например, для уровней API = 9? (Несмотря на то, что это не рекомендуется developer.android.com .

    Display display = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
    Point screenSize = new Point();

    // calculate the width
    float width;
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {
      display.getSize(screenSize);
      width = screenSize.x;
    } else {
      width = display.getWidth();
    }

Спасибо!

7
задан fejd 13 July 2015 в 11:40
поделиться