Programar en Android puede ser una tarea ardua o muy sencilla, dependiendo claro está de nuestros conocimientos en la materia. No obstante, si quieres comenzar a dar tus primeros pasos y comprobar que realmente es fácil crear aplicaciones, puedes echar un vistazo a este tutorial en vídeo que uno de los chicos de XDA ha creado para que cualquiera pueda crear su propio launcher personalizado.
Obviamente, se trata de un launcher realizado para principiantes en este mundo, por lo que no podéis esperar un resultado próximo a Nova Launcher ni ninguna de sus alternativas como Samsung TouchWiz. No obstante, es bastante introductorio para aquellos que quieran conocer cómo se desarrolla en la plataforma Android. En su forma más básica, un launcher es una aplicación que representa la pantalla de inicio de un dispositivo y lista todas las aplicaciones que están instaladas en el dispositivo, además de «lanzarlas». En otras palabras, aparece cuando presionamos el botón de inicio y en este caso, lo que nosotros haremos será crear uno muy sencillo con dos partes fundamentales: una con un fondo de pantalla y otra con una lista de las aplicaciones disponibles.
Qué vamos a construir y por qué
En este tutorial crearemos un lanzador simple con dos pantallas: una pantalla de inicio que muestra el papel tapiz del dispositivo y otra con la lista de aplicaciones instaladas para lanzarlas con un toque. Es el esqueleto sobre el que luego podrás añadir gestos, búsqueda avanzada, temas e iconos.
Requisitos y preparación del entorno
Necesitarás tener instalado y configurado en tu equipo el SDK de Android y las herramientas de plataforma, un IDE (puede ser Eclipse con ADT como en el vídeo o, preferiblemente, Android Studio) y un emulador o dispositivo Android ejecutando una versión compatible. El ejemplo funciona desde versiones clásicas como Froyo en adelante y se ha probado apuntando a Jelly Bean como objetivo, pero puedes usar niveles de API recientes para beneficiarte de mejoras del sistema.
Creación del proyecto y manifiesto
Crea un nuevo proyecto de aplicación Android —por ejemplo, SimpleLauncher— con un identificador de paquete único. Añade dos Activity en el AndroidManifest.xml:
- HomeActivity: incluir
<intent-filter>con las categoríasandroid.intent.category.HOMEyandroid.intent.category.DEFAULTpara que se ofrezca como lanzador al pulsar Inicio. EstablecelaunchMode='singleTask'para evitar instancias duplicadas y un tema tipoTheme.Wallpaper.NoTitleBar.FullScreenpara mostrar el fondo de pantalla. - AppsListActivity: mostrará y lanzará las apps instaladas; no requiere filtros especiales.
Diseños de interfaz (layouts)
- activity_home.xml en
res/layout: un botón visible que al pulsarlo ejecute el métodoshowAppsy lleve a la lista de aplicaciones. - activity_apps_list.xml: un
ListViewa pantalla completa para mostrar las apps. - list_item.xml: plantilla de cada fila, con
ImageViewpara el icono y dosTextViewpara la etiqueta y el nombre del paquete.
Lógica de las Activities y modelo de datos
En HomeActivity, en onCreate invoca setContentView con activity_home y define showApps para iniciar AppsListActivity mediante un Intent. En AppsListActivity, configura su ListView e introduce una clase simple AppDetail (nombre de paquete, etiqueta e icono) que representará cada app de usuario.
Cargar, listar y lanzar aplicaciones
Para recuperar apps, usa PackageManager con queryIntentActivities filtrando por Intent.CATEGORY_LAUNCHER, construyendo una lista apps de AppDetail. Muestra la lista con un ArrayAdapter sobrescribiendo getView para inflar list_item.xml. Al pulsar un elemento, obtén su Intent de arranque con getLaunchIntentForPackage y ejecútalo. Invoca loadApps, loadListView y addClickListener desde onCreate para que todo funcione al abrir la pantalla.
Consejos de personalización y alternativas
Con la base lista, puedes añadir gestos, búsqueda, docks laterales, insignias de notificación o temas y paquetes de iconos. Si prefieres construir la interfaz con tecnologías web, existen propuestas como HTMLauncher que permiten crear páginas del lanzador con HTML, CSS y JavaScript y un editor integrado.
Cómo cambiar el launcher por defecto
Instala el lanzador desde Google Play, pulsa Inicio y elige tu nuevo launcher como predeterminado. En capas como EMUI, ve a Ajustes > Aplicaciones predeterminadas y selecciona el lanzador deseado. Si no quieres usar un launcher, es posible cambiar iconos desde Ajustes > Pantalla en dispositivos compatibles o con apps de terceros dedicadas a iconos.
Tipos de launchers y opciones destacadas
- Uso personal: centrados en personalización, cuadrículas, widgets e iconos.
- Uso empresarial (modo Kiosk): bloqueo a una o varias apps, listas blanca/negra de sitios, supervisión y control remoto. Soluciones de MDM como AirDroid Business facilitan configurar un Kiosk launcher con gestión centralizada.
Entre los favoritos del público están Microsoft Launcher (integración con tareas y calendario), Square Home (interfaz tipo mosaicos) y Nova Launcher (equilibrio entre velocidad y personalización, con versión Prime para gestos avanzados, ocultar apps y efectos extra).
Beneficios, desafíos y buenas prácticas
- Beneficios: gran personalización del escritorio, funciones extra que no siempre ofrece el sistema, temas y packs de iconos y mejor organización de accesos.
- Desafíos: posibles incompatibilidades con ciertos dispositivos, impacto en rendimiento o batería si abusas de animaciones, y la importancia de habilitar copias de seguridad y restauración del diseño.
Obviamente en un artículo no podemos explicar para qué sirve cada uno de los aspectos desarrollados en el ejemplo del vídeo ya que lo único que queremos es ofreceros información de cómo empezar. No obstante, si queréis que en sucesivos artículos os expliquemos en detalle cómo funciona la programación en Android, comentadlo justo debajo e intentaremos ayudaros con una serie de artículos para, al menos, entender cómo funciona (aunque para ello deberíais tener algún tipo de conocimiento en este terreno).
Vía XDA. Para comenzar a crear el launcher necesitaremos tener instalado el SDK de Android, que puedes descargar desde su página oficial, Eclipse IDE 3.7.2 o superior con el plugin ADT instalado y un emulador Android capaz de ejecutar Android Jelly Bean, ya que es la versión utilizada para desarrollar en el vídeo. Tras esto, crearemos un nuevo proyecto de aplicación Android y lo llamaremos, por ejemplo, SimpleLauncher, eligiendo como compatibilidad mínima del SDK Jelly Bean 4.1 y como máxima Android KitKat 4.4. Tal y como veréis en el vídeo, podemos elegir el icono que queremos para nuestra aplicación, al igual que el nombre de las distintas «actividades» que necesitaremos desarrollar para que el launcher funcione correctamente.
Si te animas a probar y consigues crear un launcher 100% personalizado y hecho por ti, no dudes en dejarnos un comentario contando tu experiencia y alguna muestra de cómo ha quedado tu trabajo.