Considere el contexto como un estado de su aplicación. Se utiliza para manipular recursos y servicios utilizados por la aplicación como base de datos, archivos locales, cargadores de clases, preferencias compartidas, etc.
Cuando alguien te llama y pregunta por tu tiempo, ¿qué es lo primero que dices ... ¿A qué se refiere esto? o ¿cuál es el contexto de esta conversación? Según el contexto, puede decidir si vale la pena continuar con la llamada o no. Si continúas, la conversación debería ser relativamente fácil ya que conoces el contexto.
Lo mismo ocurre con Intents. ¿Qué es un intento? Algo que tiene una intención. Una de ellas es comenzar una actividad.
Intent intent = new Intent(getApplicationContext(),ActivityTwo.class);
startActivity(intent);
Si esto hace que su concepto un poco más claro que vamos a proceder a su pregunta y la API actual -
Intent#(Context packageContext, Class<?> cls)
Como usted tiene avisos primer argumento debe ser de tipo Context que sabemos que es una clase abstracta. Por lo general, puede pasar cualquier clase concreta que se extienda a la clase Context
, siendo Activity
una de ellas (en cuyo caso, simplemente use this
en el argumento).
Si el Contexto Paso es arbitraria, ¿por qué necesitamos este argumento? ¿Por qué este constructor Intent # (Class > cls)? –
Tienes razón, la documentación es realmente extraña. Pero si revisa algunos de los tutoriales, verá que normalmente la Actividad en la que se crea el Intento se pasa al constructor como un objeto de contexto. – Flo
No estoy seguro si esto hizo que los documentos fueran más claros para mí. Ya sabía por los tutoriales que puedo pasar una Actividad, Servicio o getApplicationContext() aquí. Pero los documentos todavía no tienen sentido para mí. ¿Por qué está etiquetado como "paquete"? ¿Qué clase es "esta clase"? ¿Qué pasa con ... "del paquete de aplicación que implementa" ..., hay múltiples paquetes potenciales que se espera que estén en la aplicación o qué? Tal vez sea solo yo, tal vez es una fraseología desafortunada. – n611x007