2012-03-01 6 views
5

He estado haciendo un proyecto en Android 4.0 y me he enfrentado a algunos tipos obsoletos para las versiones más recientes de Android. Se ha producido una línea negra en el nombre de las cosas obsoletas. Sin embargo, a pesar de la línea negra y las advertencias de desaprobación, aún puedo usar esas clases en desuso y el proyecto se está ejecutando correctamente. Me confundí sobre la desaprobación. Si están en desuso, ¿cómo puedo seguir usándolos y qué significa desaprobación exactamente? Si utilizo las clases en desuso en mi proyecto, ¿cuáles pueden ser las posibles desventajas que los usuarios del proyecto pueden encontrar?Classess en desuso en Android

Gracias por leer.

Respuesta

6

Desaprobado significa que es probable que se eliminen en una versión futura de la plataforma, por lo que debe comenzar a buscar reemplazar su uso en el código.

¡Si eliminaran los tipos, las compilaciones se romperían y la gente no estaría contenta!

En cuanto al efecto que tendrán en los usuarios de su aplicación, no debería haber ningún efecto en absoluto. Sin embargo, cuando vengas a actualizar tu software a la próxima versión de Android, es posible que descubras que los tipos en desuso ya no están allí y tu compilación se romperá.

Wikipedia tiene un buen artículo sobre ello aquí: http://en.wikipedia.org/wiki/Deprecation

+0

y significa que debo revisar mis conocimientos Android que he tenido antes para el futuro de mi proyecto. Gracias Nick. –

0

menudo están en desuso algunos tipos de clases pero todavía se puede seguir usando porque para actualizar las aplicaciones e implementar aquellas clases que tendría que modificar el código fuente.

Pero si encuentra que hay clases no utilizadas es mejor que en las próximas aplicaciones que ya no las use, personalmente lo gasto con ClipboardManager y use aplicaciones donde anteriormente todavía funciona.

1

No olvide que probablemente haya una razón para que estas clases estén en desuso. Puede afectar la seguridad o estabilidad de su aplicación. Si descubres un error o una falla, probablemente nunca se corrija.

También consulte las clases que, en su caso, aconsejan utilizar.

En cuanto a sus preocupaciones acerca de las nuevas versiones de Android:

versiones de Android son compatibles con versiones anteriores

confirmada here por un ingeniero de Android en un tema sobre el otro de clase obsoleta. Por lo tanto, debería poder usar su aplicación en versiones más nuevas.

Si desea que su aplicación sea compatible con versiones anteriores de Android mientras utiliza una clase "nueva" en su código, marque this related topic.

3

La historia larga abreviada solo usa el método obsoleto en los sistemas que ejecutan una API demasiado baja como para admitir el método actualizado. De esta forma, puede admitir una gama más amplia de dispositivos al tiempo que solo utiliza los métodos en desuso cuando debe admitir 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 
    } 

ACLAMACIONES :)

Cuestiones relacionadas