Estoy escribiendo una aplicación de Android que está dirigida al nivel 15 de la API, pero también quiero mantener la compatibilidad hacia atrás con niveles API más antiguos (min-sdk 7).¿Está bien tener tantos métodos obsoletos en el código compatible con versiones anteriores?
Voy a llegar a esto poniendo condiciones para decidir qué código usar según el nivel API actual (como se muestra a continuación). Supongo que este es un buen enfoque, solo quiero preguntar si está bien tener tantos métodos en desuso (como display.getWidth()
), porque hay muchos cambios entre el nivel 8 y 15 de la API. Y si es así, si es un buen uso de @SuppressWarning("deprecation")
en este caso?
¿No sería mejor usar múltiples APK, por ejemplo, para los niveles API < = 8 y> = 9? (A pesar de que no es recomendado por 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();
}
Gracias
Apunto al nivel de API 15, por lo que es probable que esté obsoleto para algunas versiones del sistema operativo. También creo que siempre hay una alternativa al código obsoleto (o mejor, estoy usando una API nueva que no está disponible en el antiguo unos, así que tengo que arreglarlo para mantener la compatibilidad). Bueno, ¿está bien tener muchas de estas condiciones para mantener la compatibilidad con versiones anteriores o es una buena idea tener dos APK para ICS (por ejemplo) y para versiones anteriores? –
Está bien, y animado. Si lanza dos versiones de su aplicación, una para ICS, una para pre-ICS, está invitando a un gran dolor de cabeza, ya que tendrá que mantener dos bases de códigos separadas. –