Mostrando las entradas con la etiqueta Android Studio. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Android Studio. Mostrar todas las entradas

27 abril 2023

Música en Android Studio

Es posible/probable que quieras que tu app pueda tocar sonido, ya sea como múscia de fondo, como un efecto cuando algo sucede, etc. Aquí te voy a describir cómo hacerlo y te presento una app de ejemplo que hace aue una canción empiece a tocar (y que lo que lo puedas parar).

En primer lugar, vamos a usar una clase que se encarga de todo ello, es el MediaPlayer. Estos son los pasos que debes seguir:

Primero, tienes que crear una carpeta de recursos (dentro de la carpeta res) llamada raw. Para hacer esto, haz clic derecho sobre la carpeta res y luego selecciona New > Folder > Raw Resources File como se ve en la siguiente imagen:


Una vez que tengas la carpeta, copia un archivo MP3 allí. Para más fácil, lo puedes arrastrar desde tu administrador de archivos.

Nota: el archivo MP3 debe tener el nombre en minúsculas, sin espacios ni dígitos numéricos ni caracteres "raros". Renómbralo si hace falta.

Después, en tu archivo Java, declara un objeto de la clase MediaPlayer así:
private MediaPlayer mediaPlayer;

Una vez creado el objeto, tienes que inicializarlo con el método onCreate de la siguiente manera:
mediaPlayer = MediaPlayer.create(this, R.raw.tu_archivo_mp3);

No te preocupes por el nombre del recurso: en cuanto escribas R.raw. Android Studio te muestra las opciones y una la vas a reconocer como tu rola.

Después de esto, usa el método que necesites:
  • start() inicia la reproducción de la canción
  • stop() detiene reproducción de la canción
  • release() libera todos los recursos usados por el MediaPlayer (es bueno usar este al final, cuando ya no vas a usar la rola)
  • setLooping(true) sirve para decir que la canción se repita al terminar. Solo ten en cuenta que si es una canción que dura mucho, tal vez quieras usar un Service en lugar de un Activity para que se reproduzca para que se siga escuchando aun cuando el usuario navega a otras partes de la app o bloquea la pantalla.
Para demostrar esto, voy a mostrar el código para hacer una app sencilla que tiene dos botones: cuando presionas el de Iniciar, muestra cuánto dura la canción y lo empieza a tocar. Si das click en el botón de Parar, deja de tocar la canción. Para este ejemplo, usé la canción de Shakira y Bizzarap porque la traía pegada el día que hice el ejemplo.

La interfaz se ve así:


Éste es el código de la interfaz:

Y este es el código en la actividad en Java:

Espero que les haya sido útil y ya puedan integrar música a sus apps. ¡Hasta la próxima!

05 junio 2022

Android Studio: aprovechando el almacenamiento interno

Muchas veces en nuestra app queremos guardar los datos que tenemos en la memoria para que estén disponibles cuando abramos la app en otra ocasión.

Para hacerlo, según los desarrolladores de Android, tenemos 4 opciones:

  • Almacenamiento específico de la app: Almacena archivos diseñados solo para tu app, ya sea en directorios dedicados dentro de un volumen de almacenamiento interno o en directorios dedicados diferentes dentro del almacenamiento externo. Usa los directorios del almacenamiento interno para guardar información sensible a la que otras apps no deberían acceder. El almacenamiento externo es cuando quieres hacer un archivo que el usuario después puede usar de forma independiente a tu programa.
  • Almacenamiento compartido: Almacena archivos que tu app pretenda compartir con otras apps, incluidos archivos multimedia, documentos y otros.
  • Preferencias: Almacena datos primitivos y privados en pares clave-valor. Muy útil para guardar datos sobre la configuración, pero se puede usar para otras cosas también.
  • Bases de datos: Almacena datos estructurados en una base de datos privada.
Para mayor explicación y una tabla comparativa de todos estos tipos, les sugiero que visiten esta liga. En este post, voy a explicar como usar la primera opción, y de forma más particular, solo el almacenamiento interno.

Según Google (que se puede ver en esta liga), nos dice que son seguros porque en la ubicación donde los guarda en tu teléfono, como está encriptado, no se pueden accesar de otras apps. También hay que considerar que cuando el usuario desinstala tu app, estos archivos se borran (generalmente eso es lo que quieres para que no termines como con Windows que al desinstalar algo deja como mil archivos en tu compu).

Para ejemplificar como se puede almacenar y leer algo del almacenamiento interno, te lo muestro en este video donde explico cómo hice una app que guarda datos de un arreglo de objetos a un archivo, luego los lee. Abajo comparto el código de la app.

En este primer video muestro la interfaz de la app y se ve como funciona:


Y en éste video muestro cómo funciona la app, el código en Java que hace que todo funcione.


Éste es el archivo XML de la interfaz de la app. Yo lo hice con las herramientas visuales, pero aquí se pueden ver todas las propiedades que le asigné a cada control:

Y aquí está el código Java de la app que fue explicada en el video:

Finalmente está el código de la clase Datos, que es con la que se llena el ArrayList y se escribe al archivo:

Ligas de interés:


29 mayo 2019

Android Studio: Actividades e Intents

En esta ocasión, hice una app usando Android Studio que usa más de una actividad.  Para abrir otra actividad de la aplicación, uso un objeto Intent.

Dividí la creación/programación de la app en dos videos.  En el primero creo la interfaz y creo el código que hace un objeto Intent que abra la otra actividad (que aún está en blanco).


En este segundo video paso datos adicionales a la segunda actividad, quien las recibe y despliega.


Si deseas ver el código de esta app, aquí les dejo el código de la primera clase (CreaMensaje.java) y de la segunda clase (RecibeMensaje.java).  Haz click sobre las imágenes para ver el código en tamaño decente.
   


Ya después vi que sería fácil alterar esta app para que, en lugar de mandar datos a otra actividad de la misma app, mandarlo a cualquier otra app que tenga instalado.  Pero eso será en otra ocasión.  ¡Saludos!

La idea de este ejemplo fue adaptado de este libro:


11 mayo 2019

Android Studio: App con Spinner, Button e ImageView

En estos videos, creo una app que tiene un spinner que tiene una lista de pélículas.  Al seleccionar una, se presiona un botón y aparece el poster de la película.  Es algo sencillo, pero demuestra varias cosas de Android Studio que tal vez desconocías.

Aquí está el primer video donde creo la interface.  Abordo como crear un Spinner y llenarlo de elementos.


En este video importo imágenes PNG y los subo a mi proyecto convertidos en diferentes resoluciones de pantallas.  También incluyo el ImageView.


En este último video, hago toda la parte de programación.  Muestro una forma de programar el botón diferente al que hicimos en videos anteriores (para que puedas elegir la que más te guste) y de alterar la imagen en el ImageView.


Este es el código de la actividad por si no la pudiste ver completo en el último video (haz clic sobre la imagen para verlo más grande).


Espero que esto haya sido de utilidad.  ¡Hasta la próxima!

***ACTUALIZACIÓN Mayo del 2022***
Parece que ahora el Android Drawable Importer (que uso en el 2do video) ya no es parte de Android Studio. Pero aquí pueden descargar la versión para el Android Studio Bumbebee (el que estoy usando en este momento). Descargas el archivo ZIP y desde los plugins de Android Studio (se ve en el video: File > Settings > Plugins) le dan click al engrane y ponen Install from Disk. Eligen el ZIP que descargaron y ya. Lo demás debería ser igual.

08 mayo 2019

Android Studio: imágenes y botones

En un video anterior, tuve problemas con un ImageButton y dije que lo iba a cubrir en otro tutorial.  En este video muestro como agregar una imagen (en este caso un PNG) a una app y ponerlo en in ImageButton:


Otra forma más eficiente de usar imágenes, es haciendo uso de imagenes vectorizados en lugar de mapas de bits.  Uno de los formatos más populares es el SVG.  Aquí, en este video, se muestra como importar imágenes SVG a un proyecto y cómo hacerque un botón cambie de imagen cuando se presiona o se le da "focus".


Aquí pongo el código XML del archivo estados_boton.xml por si no se ve claro en el video.


Espero que les haya sido útil.  ¡Nos vemos en la próxima!

27 abril 2019

Android Studio: programando interfaz y botones

Con anterioridad ya mostré como crear una app sencilla (básicamente un "Hola mundo").  En esta ocasión quiero mostrar como trabajar un poco con la interfaz de una actividad.  Voy a seguir añadiendo cosas al ejemplo que hice.

Aquí muestro como quitar el "Action Bar" (la barra que está hasta arriba de la actividad) y pongo algunos elementos en la pantalla.  Lo único que me falló fue incorporar algunos elementos gráficos, pero eso lo arreglaré en un video más adelante.


Después, aquí vamos a dejar una interfaz más simple, pero con botones.  Y programamos los botones para que despliegue un mensaje usando el objeto Toast, que mande algo al Log y que cambie el contenido de un TextView. Para hacer más sencilla la edición, lo hice en 3 videos.

En este video programo el botón para que muestre un mensaje usando el Toast:


Aquí muestro como programar un botón para escribir un mensaje en el Log:


Y finalmente en este video cambio el texto de una etiqueta (TextView) cuando dan clic a un botón:


Por si se perdieron de algún detalle en el código de Java, les dejo aquí todo lo que tiene el archivo MainActivity.java (si quieren hagan clic sobre la imagen para verlo en tamaño normal).



Espero que esto les haya sido útil.  Voy a seguir haciendo ejemplos con Android Studio, así que no te pierdas los posts que siguen.  ¡Hasta la próxima!

10 abril 2019

Android Studio: empezando con un ejemplo

Desde hace un tiempo he estado jugando con Android Studio y creo que ya hace falta compartir un poco de lo que he hecho por si les puede ser de utilidad.  En estaq ocasión voy a arrancar haciendo una app simple, el equivalente a un Hola Mundo (cosa que generalmente me choca porque TODOS los libros y cursos comienzan con este ejemplo, pero en fin), que cubra algunos de los puntos que ayuden a entender, a nivel muy simple, como crear una app.  Tengo el propósito de ir escribiendo un poco más para profundizar un poco, así que este será nuestro punto de partida.

¿Qué es Android Studio?
Antes de que existiera Android Studio, los desarrolladores estaban condenados a usar Eclipse con un SDK para trabajar.  No me malinterpreten, me encanta usar Eclipse, pero eso con el SDK no era un ambiente todo integrado.  Así que, desde hace ya varios ayeres, Google sacó Android Studio que integra una ambiente de desarrollo, emuladores (AVD), los SDKs y muchas otras cosas que necesitas para trabajar.

Ciertamente no es una herramienta perfecta: es enorme, usa muchísimos recursos de tu computadora, suele presentar fallas y algunas otras anomalías, pero dentro de todo es un ambiente genial para programar apps para Android.  En otros posts he hablado de AppInventor, la herramienta ideal para principiantes, Android Studio te da mayor control sobre todos los aspectos de desarrollo de apps.

Descargando Android Studio
Para empezar, hay que descargar e instalar Android Studio.  Vayan a la página de descarga para descargarlo.  En esta primera etapa, instalen el programa con las opciones default (en este momento la versión para Windows 64 bits pesa 948 Mb) y al rato vamos a instalar otras partes que hacen falta.  Van a ver que durante la instalación todavía descarga más archivos (en mi caso como 1 Gb), así que tengan una conexión a internet activa y tengan paciencia.

Después de instalar el ambiente de desarrollo, tenemos que ver que tengamos los SDKs necesarios para trabajar y los AVD (emuladores de teléfonos con Android).  Para hacer este paso, les dejo este video breve que muestra como administrar (incluyendo instalar) lo que hace falta:


Empezando a crear la app
Ahora todo está listo para comenzar a hacer nuestra primera app.  Vamos a seguir un asistente para hacerlo e iré explicando lo que sucede conforme avancemos.  Para que fuera más sencillo, lo explico en estos videos:


Espero que estos videos hayan sido útiles.  En el futuro tendré otros videos para apps un poco más avanzadas, así que dénse una vuelta a mi blog más adelante y/o a mi canal de YouTube para que no se lo pierdan.

Material adicional
Muchas de las ideas que están aquí (y en los videos agregados) fueron tomados de este libro (que me ayudó mucho para aprender).  He visto varios, pero éste es uno de los mejorcitos.  Les dejo la liga por si quieren profundizar.

https://www.amazon.com/Head-First-Android-Development-Brain-Friendly/dp/1491974052/ref=dp_ob_title_bk

El Tony y sus ondas...

Related Posts Plugin for WordPress, Blogger...