Hello HumanOS!! Hoy les traigo un tuto que les enseñará a hacer Splashs para sus aplicaciones en Android.
Primero
En un proyecto creamos una nueva activity, File > New > Activity en el caso de Android Studio, diseñamos el layout correspondiente, luego vamos a la clase java de la activity creada y copiamos el siguiente código dentro del método onCreate :
//Tiempo de duración del Splash en milisegundos
int SPLASH_DISPLAY_LENGTH = 2000;
new Handler().postDelayed(new Runnable() {
public void run() {
//Pasados los dos segundos inicia la activity Principal
Intent intent = new Intent(Splash.this, MainActivity.class);
startActivity(intent);
//Destruye la activity actual
finish();
}
}, SPLASH_DISPLAY_LENGTH);
Ejemplo:
public class Splash extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
//Tiempo de duración del Splash
int SPLASH_DISPLAY_LENGTH = 2000;
new Handler().postDelayed(new Runnable() {
public void run() {
//Pasados los dos segundos inicia la activity Principal
Intent intent = new Intent(Splash.this, MainActivity.class);
startActivity(intent);
//Destruye la activity actual
finish();
}
}, SPLASH_DISPLAY_LENGTH);
}
}
Después
Vamos al archivo AndroidManifest.xml, le ponemos la categoría LAUNCHER a la activity del splash para que sea la que se ejecute cuando se abra la app y la categoría DEFAULT a la activity principal, como se muestra a continuación:
Al final
Ejecutan la aplicación y verán los resultados. Aquí les dejo un proyecto de ejemplo, espero que les sirva, dejen sus dudas y sugerencias en los comentarios. Saludos
HumanOS-Splash.7z (319 descargas)
Comentarios ( 19 )
NADA QUE VER CON ESTE ARTICULO… SI ALGUIEN TIENE ALGUNA SOLUCIÓN PARA LOS CELL QUE NO MARCAN CON *99, *+99 NI CON EL PROGRAMA *99 POR FAVOR COMPARTIR ALGUNA SOLUCIÓN SI LA HAY. GRACIAS
Justo lo que me recomendo el doctor!!! estaba buscando esto hace rato. Gracias @Adrian
@FANTASY
buskte rapidoetecsa , q el icono es un conejo , haver si te pincha , sino marca 105 o 106 pa q veas como llamas tu y sin pagar
Este buen artículo debería haber sido publicado en el Blog oficial de la comunidad de android de la UCI.
Es verdad, debería haber sido publicado allí. Creo que si tuviéramos [blog Android] alcance nacional el interés por publicar fuera mayor. No obstante, es una excelente iniciativa compartir snippets de código como estos que siempre se agradecen, sin importar el lugar donde estén.
Volviendo al tema del post: se ha discutido al respecto (http://stackoverflow.com/questions/5486789/how-do-i-make-a-splash-screen, http://cyrilmottier.com/2012/05/03/splash-screens-are-evil-dont-use-them/) porque algunos consideran el Splash Screen una pérdida de tiempo. Otros quieren que sus apps “parezcan” profesionales porque lo incluyen. En realidad el Splash Screen debe ser una vía para informar al usuario que están ocurriendo cosas (conectando a recursos externos, procesando archivos, preparando las interfaces, etc.) y mientras tanto, se le muestra algún tipo de información. No es menos cierto que muchos Splash Screen solo cumplen la función de causar ese primer impacto, aunque cueste algunos segundos. Recuerden que si luego de esa espera, la aplicación no supera las expectativas… aténganse a las consecuencias. Ah, importante ¡nadie quiere una app de uso rápido con dos segundos de retraso! Piensen en iniciar la cámara y que salga un Splash lindísimo… seguro ya entendieron.
Finalmente les dejo la vía recomendada por un desarrollador de Google (https://plus.google.com/+AndroidDevelopers/posts/Z1Wwainpjhd). Esta se basa en usar un tema que modifique el fondo por ser uno de los primeros elementos que el sistema muestra, antes de mostrar la primera ventana de la aplicación.
Conclusiones:
Un splash bonito puede ser un aliado o enemigo en dependencia de la aplicación en la que se use. La espera innecesaria puede terminar impacientando al usuario. Mientras más rápido se muestre la aplicación, mejor.
Hace rato que digo que a mi me parece que además de dar noticias y compartir apps, los blogs de Android y Apple de la universidad tienen que tener una sección para el desarrollo.
@Roberto
Generalmente el splash lo utilizo cuando tengo ejecuciones corriendo en segundo plano como peticiones a algún servicio, alguna descarga en curso, comprobacinoes internas de la aplicación, o con el sistema operativo u operacioones que demoren un tiempo.
Estoy de acuerdo contigo. Sin embargo, cabe la siguiente reflexión: los 3 miembros del staff, (desde hace más de un año) que reiteradamente hemos solicitado colaboración, tenemos distintas actividades que cumplir. Mantener noticias y aplicaciones implica tiempo. Hay otra sección al parecer oculta que también merece atención: la sección de preguntas y respuestas. He pensado en varias ocasiones en iniciar una sección para enseñar cosas de Android, unas simples y otras más complejas. Esta acción implicaría no solo trabajar en los artículos, sino en la moderación de comentarios y seguimiento. Pero volviendo al inicio 3 tigres no componen verano. El tiempo libre es poco y por desgracia el único de que disponemos. Sé que tenemos muchos estudiantes y trabajadores capacitados, solo necesitamos que se unan.
Interesante, pero hay “n” maneras de hacer esto mismo, ya sea con un timer, con un thread, con un asyctask, etc…
@Roberto
Vamos, yo siempre les he brindado el blog TuAndroid para que la comunidad android de la UCI publique sus artículos y puedan llegar a la mayor cantidad de lectores 😀 si les interesa la oferta sigue en pie. Saludos
creo que mejor pones el codigo en el onResume. de lo contrario al hacer back te encuentras de nuevo en el splash y no pasa a la siguiente Activity.
greetings
@Travv
Man marque el 105+ el # y nada, me dice ke mi saldo no es suficiente para establecer la llamada igual probe con 106, sigo si es asi como se hace.. el rapidoetecsa ni idea de donde encontrarlo, exactamente ke es? dime si tienes alguna otra solucion
@FANTASY
Hermano literalmente te han mandado soga.uci.cu
Alguien ha tenido alguna experiencia haciendo un filechoser en android??
@RobertoEstoy haciendo una app y necesito un curso basico para adaptar la aplicación a diferentes resoluciones, he investigado en internet y no me viene ejempo concreto, eso ya me tiene con dolor de cabeza. Si pudieras mandarem alguna documentacion o ensñarme algo te lo agradeceria…soy estudiante de 4to de la fac 3, mj user es famarrero
new Handler().postDelayed(new Runnable() {
Error:(25, 9) error: Handler is abstract; cannot be instantiated
Hola un saludo , estoy dando los primeros pasos con el eclipse y me guataria saber como reproducir un video de la carpeta raw y que etiqueta de los componentes usar , que me sirva para reproducir mp4 o flash
arriba en las importaciones
pon import android.os.Handler;
quita import java.util.logging.Handler;