Recursos.getSystem () vs getResources ()

Soy nuevo en Android y estoy aprendiendo el SDK yo mismo de los recursos disponibles en la red.

Me encontré con una situación ahora. Estoy intentando el código abajo:

Tipo 1: getResources().getString(android.R.string.cancel);

Tipo 2: Resources.getSystem().getString(android.R.string.cancel);

Tipo 3: getString(android.R.string.cancel);

Todos los métodos anteriores devuelven el mismo valor. Entonces, ¿cuáles son estos métodos, cuáles son sus casos de uso. ¿Cuáles son las buenas prácticas sobre cuándo usar qué método. Por favor, ayúdame.

La diferencia no es sólo en lo que se obtiene, sino en WHERE puede usarlos.

El primero y el tercero utilizan el "contexto". Invisible Por lo tanto, muy a menudo (en miembros estáticos o fuera de los miembros de actividad) no puede utilizarlos directamente, a menos que pase contexto o recurso como variable estática o como un parámetro en su ámbito de aplicación. Pero el segundo

 Resources.getSystem().getString(android.R.string.cancel) 

¡Usted puede utilizar ABSOLUTAMENTE TODO EN su aplicación, incluso en declaraciones constantes estáticas! Pero sólo para los recursos del sistema

Todos los 3 devuelven el mismo valor, pero Resources.getSystem () hace referencia a los recursos del sistema y puede provocar un bloqueo si se usa incorrectamente.

El uso aconsejado es "getString (android.R.string.cancel);"

También se utiliza como tal en el código WalkieTalkieActivity.java en el sitio web de desarrolladores de Android.

Estos tres métodos son todos iguales. Aquí está el método raíz: getString("") Utiliza el método de acceso directo cuando estás procesando el contexto de las aplicaciones. En casi todos los casos, usamos getString() para obtener las Cuerdas definidas en el archivo String.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.