Deprecated Classess en Android
He estado haciendo un proyecto en Android 4.0 y he enfrentado algunos tipos obsoletos para las versiones más recientes de Android. Una línea negra ha ocurrido en el nombre de las cosas obsoletas. Sin embargo, a pesar de la línea negra y las advertencias de depreciación, todavía puedo usar esas clases obsoletas y el proyecto se ejecuta correctamente. Me confundí acerca de la depreciación. Si están obsoletos, ¿cómo puedo seguir usándolos y qué significa la depreciación exactamente? Si utilizo las clases obsoletas en mi proyecto, ¿cuáles pueden ser las posibles desventajas que los usuarios del proyecto pueden encontrar?
Gracias por leer.
- NameValuePair, HttpParams, HttpConnection Parámetros obsoletos en la clase de solicitud del servidor para la aplicación de inicio de sesión
- ActivityManager.getRunningTasks es un androide obsoleto
- El botón setTextAppearance está obsoleto
- Método descontinuado, pero el método de reemplazo requiere un api más alto
- Problema de ManagedQuery () obsoleto al obtener los registros de llamadas
- ¿Es seguro utilizar .getWidth en la pantalla aunque su versión obsoleta
- Android: ¿Qué debo hacer en lugar de usar una función obsoleta (getwidth ())?
- Android: Si un elemento está obsoleto en un determinado nivel de API, ¿solo es para ese nivel de API y superior?
- Android - Soporte 1.6+, y Soporte para Código Desaprobado en 1.5?
- Acerca de los nuevos métodos y métodos obsoletos en las API de Android
- SetTextAppearance obsoleto en el nivel 23 de API
- El método managedQuery (Uri, String , String, String , String) del tipo Actividad está obsoleto
- Problema de ManagedQuery () obsoleto
Deprecated significa que es probable que se eliminen en una versión futura de la plataforma y por lo que debe comenzar a buscar en la sustitución de su uso en su código.
Si acaba de quitar los tipos, entonces las compilaciones se rompería y la gente no sería feliz!
En cuanto al efecto que tendrán en los usuarios de su aplicación, no debería haber efectos en absoluto. Sin embargo, cuando llegue a actualizar su software a la próxima versión de Android, puede encontrar que los tipos obsoletos ya no están allí y su compilación se romperá.
Wikipedia tiene un buen artículo en él aquí: http://en.wikipedia.org/wiki/Deprecation
Larga historia corta sólo usar el método obsoleto en sistemas que funcionan demasiado bajo de una API para soportar el método actualizado. De esta forma, puede soportar una gama más amplia de dispositivos mientras sólo utiliza los métodos obsoletos cuando tiene que soportar los dispositivos más antiguos. Ejemplo de código a continuación.
int sdk = android.os.Build.VERSION.SDK_INT; if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) { setBackgroundDrawable(); // deprecated method for older devices } else { setBackground(); // updated method for newer devices }
Alegrías
No olvide que probablemente haya una razón para que estas clases sean obsoletas. Podría afectar la seguridad o la estabilidad de su aplicación. Si descubre que hay un error o una falla, probablemente nunca será corregido.
También compruebe qué clases aconsejan utilizar en su lugar, en su caso.
Acerca de sus preocupaciones sobre versiones más recientes de Android:
Las versiones de Android son compatibles con versiones anteriores
Confirmado aquí por un ingeniero de Android en un tema sobre otra clase obsoleta. Por lo tanto, debería poder utilizar su aplicación en versiones más recientes.
Si desea que su aplicación sea compatible con versiones anteriores de android mientras utiliza una "nueva" clase en su código, consulte este tema relacionado .
A menudo algunos tipos de clases están obsoletos, pero todavía puede seguir utilizando porque para actualizar las aplicaciones e implementar las clases que tendría que modificar el código fuente.
Pero si encuentras que hay clases sin usar es mejor que en pronto las aplicaciones ya no las usan, personalmente la gasto con ClipboardManager
y uso aplicaciones donde anteriormente todavía funciona.