Piszę aplikację na Androida, która jest przeznaczona dla poziomu API 15, ale chcę również zachować kompatybilność wsteczną ze starszymi poziomami API (min-sdk 7).Czy można używać tylu nieużywanych metod w kodzie zgodnym z wcześniejszymi wersjami?
mam zamiar osiągnąć to poprzez wprowadzenie warunków decydując, które kodują według aktualnego poziomu API używać (jak pokazano poniżej). Przypuszczam, że jest to dobre podejście, po prostu chcę, aby zapytać, czy wszystko jest w porządku, że tak wielu przestarzałe metody (jak display.getWidth()
), ponieważ jest dość wiele zmian między poziomem API 8 i 15. a jeśli tak, to czy jest to dobre wykorzystanie z @SuppressWarning("deprecation")
w tym przypadku?
Czy nie byłoby lepiej, aby korzystać z wielu plików APK na przykład na poziomie API < = 8 i> = 9? (Nawet jeśli nie jest to zalecane przez 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();
}
Dzięki
jestem kierowania poziom API 15, więc to może być przestarzałe w niektórych wersjach systemu operacyjnego .. Wierzę również, że nie zawsze jest to alternatywa dla kodu nieaktualnych (lub raczej używam nowego API, który nie jest dostępny na stary te, więc muszę to naprawić, aby zachować kompatybilność). Cóż, to jest w porządku, aby mieć wiele takich warunkach, aby zachować wsteczną kompatybilność, czy jest to dobry pomysł, aby mieć dwa pliki APK na ICS (na przykład), a dla starszych wersji? –
Jest w porządku i zachęcony. Jeśli wydasz dwie wersje aplikacji, jedną dla ICS, jedną dla pre-ICS, zaprosisz ogromny ból głowy, ponieważ wtedy będziesz musiał utrzymać dwie oddzielne bazy kodu. –