PDA

Ver la Versión Completa : [ CONSULTA ] Pantalla de Bienvenida


mistermiguelu
29/07/14, 23:15:56
Hola pues mi duda es como hacer una pantalla de bienvenida que solo aparezca la primera vez graciasss:platano:

kriogeN
29/07/14, 23:26:14
Por ejemplo con SharedPreferences, buscas un valor, si no existe muestras la pantalla y lo añades a las SharedPreferences (con un booleano te basta). La siguiente vez como si lo encontrarás no tienes que mostrar la pantalla.

LEAJIM_454
31/07/14, 06:33:47
Por ejemplo con SharedPreferences, buscas un valor, si no existe muestras la pantalla y lo añades a las SharedPreferences (con un booleano te basta). La siguiente vez como si lo encontrarás no tienes que mostrar la pantalla.
Hola, podrias por favor explicar eso, aunque ya me diste una idea mil gracias eres lo maximo XD

kriogeN
31/07/14, 08:09:45
Sería algo parecido a esto:

SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(c ontext);
Boolean mostrada = sp.getBoolean("mostrada", false);

if (!mostrada)
{
//Muestro la pantalla de bienvenida
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean("mostrada",true);
}

mistermiguelu
31/07/14, 17:06:27
Muchas gracias voy a probar

LEAJIM_454
01/08/14, 01:11:49
Sería algo parecido a esto: SharedPreferences sp=PreferenceManager.getDefaultSharedPreferences(c ontext); Boolean mostrada = sp.getBoolean("mostrada", false); if (!mostrada) { //Muestro la pantalla de bienvenida SharedPreferences.Editor editor = sp.edit(); editor.putBoolean("mostrada",true); }

Hola, se que no es mi tema abierto pero probe de mil maneras y el codigo no me lo acepta, podrias proporcionarme mas ayuda, lo que quiero hacer es que en el metodo onInit el TextToSpeech funcione solo una vez pero siempre que inicio la aplicacion se reproduce el mensaje...

mocelet
01/08/14, 09:01:05
Después del editor.putBoolean pon editor.commit() para que guarde los cambios. No sé si lo hace automáticamente en algún momento, pero no está de más.

LEAJIM_454
02/08/14, 07:15:39
Para quien lo necesite lo logre, en mi caso yo queria hacer que el TTS diga un mensaje la primera vez y otro en la segunda vez para andelante si te sirve lo coloco aqui:

public void onInit(int status) {
//Se llama al metodo "cargarPreferencias"
cargarPreferencias();
if (SeInicioPorPrimeraVez==false) {
guardarPreferencias();
ParametrosHablar( TextoMensajeDeBienvenida.toString() );
if ( status == TextToSpeech.LANG_MISSING_DATA | status == TextToSpeech.LANG_NOT_SUPPORTED )
{
Toast.makeText( this, "ERROR LANG_MISSING_DATA | LANG_NOT_SUPPORTED", Toast.LENGTH_SHORT ).show();
}


}

if (SeInicioPorPrimeraVez==true) {

ParametrosHablar( TextoSoloDeBienvenida.toString() );
if ( status == TextToSpeech.LANG_MISSING_DATA | status == TextToSpeech.LANG_NOT_SUPPORTED )
{
Toast.makeText( this, "ERROR LANG_MISSING_DATA | LANG_NOT_SUPPORTED", Toast.LENGTH_SHORT ).show();
}
}

}




//Metodo al que se llama para cargar las preferencias
public void cargarPreferencias(){
SharedPreferences prefs = getSharedPreferences("preferenciasMiApp", Context.MODE_PRIVATE);
this.preferencias1 = prefs.getString("preferencia1", "valor por defecto");
this.preferencias2 = prefs.getString("preferencia1", "valor por defecto");
SeInicioPorPrimeraVez = prefs.getBoolean("Iniciado", false);


}
//Metodo al que se llama para guardar la preferencias
public void guardarPreferencias(){
SharedPreferences prefs = getSharedPreferences("preferenciasMiApp", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("Iniciado", true);
editor.commit();
//Toast.makeText(this, "guardando preferencias", Toast.LENGTH_SHORT).show();

}
ojo en el caso seInicioPorPrimeraVez es un booleano asi que debe ser declarado justo despues de declara el nombre de la actividad, espero que pueda servirte esto es para TTS pero yo creo que tambien sirve para hacer lo de la primera actividad suerte amigo saludos...

Gracias a todos, se que este tema no era mio pero aun asi les agradesco...