/ / Implementación de getResources () Android: java, android, api, getresource

Implementación de getResources () Android - java, android, api, getresource

Acabo de comenzar a aprender programación para Android y se me ocurrió una duda sobre el método getResources (). Noté que cuando creo un objeto Resources, todo lo que tengo que hacer es:
Resources res = getResources();
La primera duda es la siguiente: ¿por qué tengo que hacerlo de esa manera y no debo usar la palabra clave java? nuevo? No debería hacer algo como esto:
Resources res = new Resources();
La segunda duda es la siguiente: en la parte superior de mi archivo he importado la clase de Recursos.
import android.content.res.Resources;
Ahora leo la api de android y dice quegetResources () es un método abstracto público, si es abstracto ¿qué clase lo implementa? ¿Cómo puedo llamarlo simplemente escribiendo getResources () si no se declara como estático?

Respuestas

3 para la respuesta № 1

Tu actividad amplía la clase. android.app.Actividad que a su vez extiende la clase android.content.Context (tres niveles arriba de la jerarquía de clases). Clase Context declara el método abstracto getResources () lo que significa que su subclase de actividad hereda ese método y puede llamarlo desde su onCreate() Método (por ejemplo).

El método getResources() se declara como abstracto en clase Context pero una de las clases intermedias en la jerarquía de clases (android.view.ContextThemeWrapper) proporciona una implementación para el método.

También eso significa que la creación de la Resources objeto no es tu responsabilidad; Se hace por el marco en su lugar.


1 para la respuesta № 2

getResources es en realidad un método al que puede acceder desde su Contexto. Así que realmente puedes pensar en esto como:

context.getResources()

Su clase de actividad es su contexto en este caso, por lo que puede llamarlo con la sintaxis:

getResources()

http://developer.android.com/reference/android/content/Context.html#getResources%28%29

De esos documentos:

Interfaz de información global sobre unaentorno de aplicación. Esta Es una clase abstracta cuya implementación es proporcionada por el Android. sistema. Permite el acceso a recursos específicos de la aplicación y clases, así como las llamadas ascendentes para las operaciones de nivel de aplicación, tales como Actividades de lanzamiento, difusión y recepción de intenciones, etc.