poner - splash android studio
¿Cómo mostrar una pantalla de bienvenida de una sola vez? (3)
Aquí hay un código de mi aplicación que hace precisamente eso.
En tu actividad:
SharedPreferences mPrefs;
final String welcomeScreenShownPref = "welcomeScreenShown";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
// second argument is the default to use if the preference can''t be found
Boolean welcomeScreenShown = mPrefs.getBoolean(welcomeScreenShownPref, false);
if (!welcomeScreenShown) {
// here you can launch another activity if you like
// the code below will display a popup
String whatsNewTitle = getResources().getString(R.string.whatsNewTitle);
String whatsNewText = getResources().getString(R.string.whatsNewText);
new AlertDialog.Builder(this).setIcon(android.R.drawable.ic_dialog_alert).setTitle(whatsNewTitle).setMessage(whatsNewText).setPositiveButton(
R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
SharedPreferences.Editor editor = mPrefs.edit();
editor.putBoolean(welcomeScreenShownPref, true);
editor.commit(); // Very important to save the preference
}
}
En mi aplicación de Android, necesito diseñar una pantalla de bienvenida que se mostrará al usuario solo una vez después de que la aplicación se haya instalado y abierto. La aplicación en cuestión es una aplicación basada en una base de datos y me encantaría incluir algunas pantallas de 3 a 4 para ayudar al usuario a crear recursos reutilizables para usar dentro de la aplicación y algunos consejos. Serían alertas de diálogo con la última pantalla de bienvenida que muestra la casilla de verificación "No volver a mostrar".
El problema realmente es cómo mostrar la pantalla de bienvenida solo una vez. Cualquier ayuda o punteros a tal efecto son muy apreciados.
Creé una SplashScreen con esto:
package com.olidroide; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; public class SplashScreen extends Activity{ /** Called when the activity is first created. */ public ProgressDialog myDialog; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splashscreen); new Handler().postDelayed(new Runnable() { public void run() { myDialog = ProgressDialog.show(SplashScreen.this,"", "Loading", true); Intent intent=new Intent(SplashScreen.this,OtherActivity.class); SplashScreen.this.startActivity(intent); myDialog.dismiss(); SplashScreen.this.finish(); } }, 3000);// 3 Seconds } };
Guarde una marca en las Preferencias cuando inicie la aplicación, después de haber completado la pantalla de bienvenida. Compruebe esta bandera antes de mostrar la pantalla de bienvenida. Si la bandera está presente (en otras palabras, si no es la primera vez), no la muestre.