explicación del contexto de Android Java

Para mostrar Alert (o cualquier otro componente de la interfaz de usuario) necesita contexto de actividad, eso es correcto. Si no tiene ninguna Actividad ejecutándose en este momento, no puede mostrar Alerta.

Pero puede mostrar Toast, utilizando el método estático de la clase Toast :

public static Toast makeText(Context context, CharSequence text, int duration);

pasarle el contexto de aplicación como primer parámetro.

El contexto de la aplicación siempre está disponible mientras su aplicación se está ejecutando, incluso si no hay una IU ejecutándose en este momento. Puede obtenerlo llamando al método getApplicationContext () desde su contexto. Si no tiene ningún contexto, siempre puede usar YourAppClass ( la clase pública YourAppClass extiende la aplicación ), definida en su manifiesto bajo la etiqueta xml. La práctica más común es hacer que YourAppClass sea un singleton, y siempre estará disponible en cualquier punto del código dentro de su aplicación.

Respuesta 1

El contexto es una clase relacionada con una Actividad, que se usa cuando se tiene que mostrar y AlertDialog, Toast, obtener servicios del sistema ... Está relacionada con la arquitectura MVC, que es un poco más larga de explicar. Sobre su uso, hay dos formas. Uno se explica por droidhot y otra forma es, por ejemplo, MainActivity.this, si está utilizando AlertDialog en la Actividad principal (archivo MainActivity.java), por lo que la Actividad principal será la que inicie el Diálogo de alerta. Si se inicia desde otra clase que no es una Actividad, debe poner el contexto como un parámetro (por ejemplo, nueva Clase (MainActivity.this)) y dentro de la clase, sería, por ejemplo, una clase pública (Contexto contexto) y el contexto del parámetro es el que tiene que usar.

Respuesta: 2

La actividad es una subclase de contexto, por lo que si imprime código es parte de su clase de actividad, simplemente proporcione el thiscontexto requerido para cumplir con los requisitos del SDK:

port = StarIOPort.getPort(portName, portSettings, 10000, this);

y después

Builder dialog = new AlertDialog.Builder(this);
Respuesta: 3

Tengo un problema para almacenar datos en este hashmap, estoy programando en Java. Mi sistema consta de algunos chats, en el mapa hash tengo que insertar chats como índices y la lista de usuarios que están conectados a ...

En mi aplicación, tengo el problema de que a veces las instrucciones SELECT se ejecutan en una excepción java.sql.SQLException: Lock excede el tiempo de espera; intente reiniciar la excepción de transacción. Lamentablemente no puedo crear un ...

Solo quiero descubrir dispositivos periféricos cuando inicio mi descubrimiento de dispositivos Bluetooth, mi aplicación no debe descubrir / mostrar otros dispositivos. ¿Es esto posible? así es como estoy buscando dispositivos ...

Tengo diferentes módulos en mi aplicación. Cada módulo se puede exportar en Excel, Word y PDF. El formato del informe es horizontal o vertical. Ahora necesito compilar todos esos informes y ...