¡Bienvenido a la guía de programación Android de develou.com! En ella aprenderás a desarrollar apps Android de forma sencilla y práctica.
Nuestra guía está diseñada para programadores de todo nivel de conocimientos que deseen encontrar tutoriales de implementaciones y ejemplos del SDK de Android en sus proyectos.
Constantemente estamos expandiendo los temas cubiertos de la guía, por lo que si no encuentras un tutorial sobre un tema en específico posiblemente estemos trabajando sobre el.
No obstante, puedes sugerirnos tutoriales en el formulario de contacto del sitio.
Lenguajes De Programación
En esta guía usaremos Kotlin como lenguaje de programación para desarrollo de aplicaciones Android. Por lo que aprenderlo es un requisito. Afortunadamente tenemos un guía para aprender Kotlin en develou.com:
- Guía De Kotlin – En esta serie de tutoriales aprenderás a programar con Kotlin JVM.
El lenguaje Java también es otra alternativa para crear Apps Android. La siguiente es una introducción al lenguaje:
- Introducción A Java — Te mostrará una guía introductoria a los elementos básicos del lenguaje como: tipos de datos, estructuras de decisión, operadores, bucles, programación orientada a objetos, excepciones y más.
Adicionalmente, puedes ver una introducción a XML. Los recursos de una aplicación Android son definidos en este formato.
- Introducción A XML — Este artículo te mostrará los aspectos generales de XML. Verás de manera general los propósitos de: prólogos, comentarios, elementos, atributos, la sección
CDATA
, namespaces, etc.
Inicios
En esta sección, verás una introducción sobre el sistema operativo Android y su estructura. Luego verás como usar Android Studio para crear tu primera App Android estilo Hola Mundo.
- ¿Que Es Android? [por actualizar] — Te introduce al sistema operativo Android y su estructura interna.
- Aplicación Hola Mundo En Android [por actualizar] — Te muestra como instalar Android Studio y crear tu primer proyecto.
- Estructura De Un proyecto En Android Studio [por actualizar] — Explica las carpetas de un proyecto en Android Studio y cual es el propósito de cada uno de los archivos generados.
Fundamentos
Actividades
- Actividades En Android: Concepto Y Ciclo De Vida
- Actividades #2: Tasks Y Back Stacks
- Comunicar Actividades A Través De Intents En Android
- Introducción A Fragmentos
Componentes De Arquitectura
Los componentes de arquitectura son un conjunto de librerías, parte de Android Jetpack, que te ayudan a diseñar apps que sean robustas, testeables y fáciles de mantener.
Navegación
- Navigation Component — Verás los pasos para implementar el Navigation Component en tus Apps Android. Así tendrás una arquitectura de navegación basada en fragmentos
- Navigation Drawer Con ListView
- Navigation Drawer Con NavigationView
- ViewPager Con NAVIGATION_MODE_TABS
- ViewPager Con TabLayout
- Ejemplo Navigation Drawer Y Tabs
Interfaz de usuario
En esta sección aprenderás a usar todos los elementos que el usuario puede ver e con que puede interactuar.
ViewGroups
- Introducción A Layouts
- Layouts Básicos
- ListView
- GridView
- ConstraintLayout
- RecyclerView
- RecyclerView con Cards
- Patrón Master-Detail
- ScrollView
Controles De IU
- TextView
- Button
- ImageView
- EditText
- TextInputLayout
- CheckBox
- RadioButton
- Floating Action Button
- Spinners
- Switch
- RatingBar
- Toast
- Snackbar
- ProgressBar
- SeekBar
- AutoCompleteTextView
- DatePicker
- TimePicker
Menús
Búsqueda
- Realizar búsquedas con el SearchView
- Búsqueda con sugerencias de consultas recientes
- Búsqueda con sugerencias personalizadas
- Búsqueda con SearchView y Room
Estilos Y Temas
Diálogos
Ajustes
- Actividad De Preferencias
- Crear Fragmento De Preferencias
- Tipos de preferencias
- Categorías y subpantallas de preferencias
- Valores de preferencias con SharedPreferences
- Valores de preferencias con PreferenceDataStore
Notificaciones
- Crear Notificaciones
- Manejar interacciones de notificaciones
- Configurar notificaciones
- Plantillas para notificaciones
- Insignias de notificaciones
App Bar
Swipe To Refresh
Animaciones Y Transiciones
Datos De App
Bases De Datos
- Implementar Bases de Datos SQLite
- Base De Datos Con Múltiples Tablas
- Ejemplo De RecyclerView Con Cursor
Compartir Datos
Datos De Usuario
Servicios
Tareas En Segundo Plano
Conectividad
Operaciones De Red
- Usar Cliente HttpURLConnection
- Parsing JSON Con JsonReader y Gson
- Parsing XML Con XmlPullParser
- Usar Librería Volley
- Ejemplo: Crear App Lectora De RSS
- Ejemplo: Crear Web Service Para Android Con Php, Mysql y Json
Sincronizar Android Con Servidor
- Sincronizar Datos Con Sync Adapter
- Ejemplo: Crear API REST Con Php, Mysql y Json
- Ejemplo: Consumir API REST Desde App Android
Ubicación
SDKs De Google
- Google Maps Api v2: Guía De Mapas
- Firebase Cloud Messaging: Guía De Notificaciones Push
- Admob: Guía De Anuncios Para Apps
Inyección De Dependencias
En esta sección aprenderás sobre inyección de dependencias en tus proyectos Android.
- Inyectar Dependencias Con Hilt — Se te muestra la introducción para inyectar dependencias con Hilt en Android. Cada paso se ilustrará con un ejemplo simple que podrás descargar al final.
Hola amigo, tienes un buen material, quisiera saber si tienes algún manual imprimible o en PDF para tener disponible toda esta maravillosa información
Hola, gracias por tu apreciación. Por el momento no cuento con la opción, espero dar esa posibilidad una vez termine varios temas que me faltan.
Hola James.
Quiero agradecerte infinitamente por tu contenido, de verdad que tiene gran calidad y sobre todo, porque te haz preocupado por la arquitectura y las buenas prácticas, características que siempre busco cuando estoy consultando recursos para aclarar dudas o aprender.
Nuevamente, gracias totales por tan maravilloso material. Un seguidor más en GitHub.
Hola Robinnsson, muchas gracias por tu apreciación. Espero poder seguir creando y actualizando los tutoriales para que sigan siendo de utilidad. Un saludo!
Estimado:
Me ha ocurrido un error en Android Studio que no he podido solucionar. No me reconoce la función setOnCheckedChangeListener, para implementar el botón switch y no me reconoce esa función. Todo lo demás está bien, pero he quedado trabado en ese punto, porque no está en la lista de funciones de Android. ¿Tengo que importarla? ¿Debo escribirla en otro lado para que pueda usarla en MainActivity? Lamento mi ignorancia. Gracias.
Hola Matías, quizás debas sincronizar los archivos gradle en File > Sync project with gradle Files. O fíjate en si las dependencias de
build.gradle.kts
de tu módulo :app tiene las invocacionesimplementation()
base para utilizar el framework de Android. Te invito a mi servidor de Discord para que resuelvas estas dudas con más fluidez. Un saludo!Muchas gracias; me ayudan muchisismo en mi aprendizaje en Android,mil gracias
Me alegra Elena, gracias por tu comentario
En verdad una belleza de tutorial para empezar desde 0 en el desarrollo Android, me ayudaste bastante, muy buen aporte gracias !!!
Me alegra que te haya servido Yamil, gracias por tu apreciación!
Excelente blog. Solo falta corutinas o no las vi 🙁
Gracias por tu comentario Alejandro. Escribí una introducción de corrutinas en este tutorial https://www.develou.com/corrutinas-en-kotlin/. Aunque espero escribir también un tutorial sobre corrutinas enfocadas en Android en el futuro.
Excelente aporte muy buen contenido!! consulta tienen algun pdf o libro sobre todo este material!!
Me alegra que te sea de utilidad Diego. Por el momento no tengo un PDF, pero si está en mis planes. Espero crearlo en un futuro. Un saludo!
muy buen aporte. muchas gracias por el contenido que ha subido
Gracias Raimudo, me alegra que te sea de utilidad, espero seguir subiendo más y actualizando aquellos que son antiguos
Acabo de encontrar este blog y apenas estoy comenzando a leerlo pero quiero felicitarte por todo el contenido que has subido mi mas sincero respeto y admiración por tomarte la molestia de hacer este blog.
¡Muchas Gracias!
Saludos desde México.
Acabo de encontrar este blog y apenas estoy comenzando a leerlo pero quiero felicitarte por todo el contenido que has subido mi mas sincero respeto y admiración por tomarte la molestia de hacer este blog.
¡Muchas Gracias!
Saludos desde México.
Gracias por tu apreciación Roberto. Mantente conectado que vienen más contenidos.
Saludos!
Gracias por tu apreciación Roberto. Mantente conectado que vienen más contenidos.
Saludos!
genial mi estimado felicitarte por tu gran trabajo sigue adelante saludos desde Cochabamba Bolivia
Gracias David, claro, seguiré creando más artículos. Vienen varios en camino, mantente atento. Saludos
genial mi estimado felicitarte por tu gran trabajo sigue adelante saludos desde Cochabamba Bolivia
[…] y date una pasada directamente al curso desde su página de contenido. Y si te ha sido de utilidad comparte con tus comunidades el […]
Sin duda el mejor Blog, muy buen trabajo.
Gracias por la apreciación Javier!
buen blog aun sigue activo?
Gracias Steven. Si claro, aún lo tengo activo. Si te interesa estoy preparando un artículo sobre notificaciones push con FCM. Sigueme en la página de face para que estés pendiente de los nuevos tutoriales: https://www.facebook.com/hermosaprogramacion/
eres el mejor amigo de verdad muy buen trabajo el que hiciste con estas guias. saludos
Gracias Carlos!, excelente que te estén sirviendo los tutos.
Puedes seguirme la página de facebook en: https://www.facebook.com/hermosaprogramacion/
Se vienen muchos mas tutos sobre las apps de google.
Saludos!
Magnífico trabajo, muchas muchas gracias!
Con gusto Gabriel!
Excelentes Aportes el mejor sin duda. Muchas gracias por compartir tanto conocimiento y calidad de conocimientos. Hermosa Programacion
Gracias compañero Criss, excelente que te estén sirviendo los aportes. Saludos!
[…] ¿Buscas tutoriales para aprender desarrollo android?, haz clic y disfruta todos nuestros artículos gratuitos con ejemplo prácticos y descargables. […]
Excelente tuto,
Una pregunta: Tendras alguna aplicacion de ejemplo relacionado a codigos de barra?
Saludes.
Excelente tuto,
Una pregunta: Tendras alguna aplicacion de ejemplo relacionado a codigos de barra?
Saludes.
Gracias David, por el momento no, pero espero al futuro cubrir ese tema (aunque no podría decirte la fecha exacta).
Saludos!
Gracias David, por el momento no, pero espero al futuro cubrir ese tema (aunque no podría decirte la fecha exacta).
Saludos!
Este blog es impresionante. Los artículos son excelentes en contenido y claridad. Con gráficos, código fuente, explicaciones detalladas…todo impecable.
Muchas gracias James por tanta dedicación, es muy generoso de tu parte compartir el conocimiento. En lo que pueda colaboraré desde los comentarios, porque creo que así se construyen las buenas sociedades, compartiendo el saber.
Saludos desde Argentina 🙂
Gracias Federica, estoy pendiente para ayudarte con dudas del contenido, al igual que muchos otros lectores que contribuyen bastante a las preguntas.
Saludos!
Excelente contenido mi hermano, esta bien estructurado y fácil de comprender muy clara su redacción, muchas gracias por tu blog. mil felicitaciones que DIOS te bendiga desde San Francisco-Venezuela
Dale Wilmer, gracias!
Muchas gracias por tan excelentes aportes, mi aplicación que voy desarrrollando no tendria muchas cosas y funcionalidades sino fuera por que este sitio existe, muchas gracias la verdad que apoyan mucho a los que tenemos menos conocimiento sobre esto, muchas gracias y sigan asi, excelente sitio 😀
Siempre con gusto Krizthian!
[…] y date una pasada directamente al curso desde su página de contenido. Y si te ha sido de utilidad comparte con tus comunidades el […]
Recomiendo los tutoriales de este blog y especialmente Android por su gran calidad, claridad y utilidad en su contenido como en su presentación.
Recomiendo los tutoriales de este blog y especialmente Android por su gran calidad, claridad y utilidad en su contenido como en su presentación.
Gran trabajo!
🙂 gracias Sergio
Muchas gracias por tu e-book «Como desarrollar tu primera app en Android». He terminado hace un año un curso de Android e iOS y es la primera vez que veo tan bien explicados los conceptos básicos de Android. Me está siendo de gran ayuda.
Muchas gracias otra vez, un saludo.
Juan Crisóstomo.
Necesito documentación donde expliquen cómo se desarrolla paso a paso una aplicación en Android con Realidad Aumentada, es decir, desde Android Studio crear un proyecto nativo utilizando las librerías de Vuforia, Metaio u otra que de pueda.
Gracias.
Hola disculpa no tienes un tutorial de notificaciones con GCM ?? Saludos estan muy buenos tus tutoriales. Mis respetos. Eres muy bueno.
Hola Ernesto, todavía no pero de seguro lo escribiré. Gracias por seguir mi blog, saludos compañero !
Felicitaciones por los tutoriales, la verdad son muy entendibles. Quisiera saber si existen posibilidades de que publiques como listar los tweets de una cuenta en particular.
Muchas gracias.
Gracias José, esa es la idea, que sean claros para los lectores. En cuanto al tema que dices, es posible, pero aún faltan muchos temas prerrequisito que aún no he cubierto. Lo tuyo es un caso práctico.
No obstante, lo anotaré en un lista donde tengo todos los temas que escribiré para cubrirlo en el futuro.
Saludos!
Hola, muy buenos tus tutoriales, he realizado bastantes que me han servido como aprendizaje para el trabajo, veo que usas mucho SQLite, no convendría utilizar una librería que te apoyara en el manejo de la base de datos como ORMLite?
Hola José. Si claro tienes razón, solo que mis tutorial son progresivos, aún debo explicar muchas cosas más para comenzar con librerías para mantener un orden.
Gran calidad de trabajo. Excelente aporte a la capacitación autodidacta
🙂 Gracias Vbermeo, saludos!
Excelente pagina, me sirve mucho ahora que estoy empezando con el Android Studio.
Gracias por compartir.
Con gusto Andres 🙂
Muy entendible tus tutoriales…estoy realizando una tesis de prototipo de aplicacion movil y me gustaria si puedes detallar los pasos para hacer uso de los proveedores de geolocalizacion ya que estoy teniendo problemas con unos chek permission en androi studio desde ya muchas gracias
Gracias por comentar Claudio. Esperemos se de en el futuro el tema de geolocalización. Saludos!
Hola James.
Escribo, para felicitarte por la calidad de los post, que haces, se nota el buen trabajo y la dedicación.
Sigue subiendo contenido, es de mucha utilidad para la comunidad, de desarrolladores.
Saludos desde Bogotá.
Gracias paisano :), claro que seguiré escribiendo. Ahora estoy un poco ocupado pero espero retomar para diciembre. Saludos!
Hola podrías realizar algún ejemplo de MVP en android. O tendrás algún link en español
Hola, Muchas gracias por su apoyo, es increible su manera de explicar, Saludos desde Cd Victoria Tamaulipas México
Me alegra que pienses así, muchas gracias por tu apreciación Héctor. Saludos
Holaa, apenas encontre tu contenido sobre android, lo veo muy bueno y bien explicado, lo que quiero lograr es crear una pantalla de login y subir una base de datos a internet o un servidor para que se pueda acceder desde la app, y ya muy extremo, una forma de comprar como en steam.
Hola compañero, puedes usar este articulo para crear un login e interactuar con una base de datos mysql. http://www.hermosaprogramacion.com/2015/10/servicio-web-restful-android-php-mysql-json/
Hola, quiero saber si hay algún tutorial como para hacer una aplicación que reciba notificaciones, se pueda leer la notificación completa en una actividad diferente y que se vallan guardando en un list view
Alguien que me ayude despues de insertar se queda en esa patalla y no pasa a la siguiente, si verifico en la base de datos lo hace no entiendo en que lugar esta la interrupcion
Que método estás usando para pasar a la siguiente pantalla?
perdon, estube queriendo hacer funcionar el IWish y en las pantalla insertar al dar clic en el boton este si inserta pero no saca el mensaje de creacion exitosa que esta en el php , ni pasa a la pantalla principal, es como no lo insertara pero si lo verifico si lo inserta pero la pantalla queda ahi.
Excelentes todos los tutoriales de android, mucho mejor que cualquier tutorial de youTube. Como propuesta para su siguiente tutorial seria bueno que consideren visualización de imágenes que estén en la galería, mostrar imágenes grandes, escaladas en distintos tamaños.
Muchas gracias por toda la información, me ha ayudado mucho! Les deseo éxito!
Gracias Mynor por tu valioso comentario. Espero poder crear un articulo como el que dices.
Muchas gracias amigo por sus tutoriales son muy completos y en español, saludos desde barranquilla colombia, que sigas publicando muchos mas
Gracias compañero, eso espero.
estan super bien deberias agregar sobre mapas
Gracias Veronico, claro ese tema también es importante, esperemos que se de la oportunidad.
Una duda, como tratan a las imagenes o fotos a la hora de guardar tanto en una interna SQLITE como una externa MySQL?¿?¿?¿ Bitmap? y pasan a String?? o a byte[]?? y como definen en la BD BLOB?? TEXT??… y qué métodos usarían para las conversiones?? me interesa para insertar y recibir imágenes mediante POST y GET. Gracias.
Hola compañero. Usa byte[] para tratar los blobs. Al recorrer el cursor usa getBlob() y listo
Estupendo James. Funciona a la perfección al insertar y extraer de SQLite. El problema me surge solo con MySQL. Al insertar los byte[] en el campo BLOB y luego extraerlo, al convertir la imagen a BitMap me sale nulo. Ya que acabo obteniendo un JSONObject y no puedo hacer getBlob (eso para cursor). He probado al JSONObject hacerle «getString(«imagen»).getBytes()», tambien con «(byte[]) get(«imagen»)», pero luego esos bytes al vovler a convertir a bitmap sale nulo. alguna sugerencia sobre MySQL? O deberé hacer algo de encode64 en php a la hora de insertar o extraer? no creo pero nose ando en ello jje. Cualquier cosa agradezco, si doy con la solucion la pondre. GRACIAS.
Hola compañero, también estaba pensando en el base64. Mira este artículo allí te dicen como hacer la transferencia.
http://stackoverflow.com/questions/29193270/how-to-upload-android-sqlite-blob-data-into-mysql-blob
Hola buen dia!!!, excelente información!!!
Podrian poner un tutorial de una aplicacion con servicios rest
saludos,
Hola Marisol. Claro ese tutorial es indispensable, esperemos que llegue pronto.
Hola
Excelentes turoriales, muy completos y faciles de entender
Me gustaria que hicieras algun tutorial explicando como se puede crear un chat para que los usuarios de nuestras apliaciones puedan comunicarse entre si.
Muchas gracias por compartir tu conocimiento, tienes un gran potencial y tu generosidad te va a llevar muy lejos.
Gracias por tu comentario Ernesto.
Claro que también me gustaría realizar un tutorial de chats, sin embargo aún debo explicar algunos temas mas básicos para no confundir a quienes están recién aprendiendo.
Saludos!
Claro entiendo
Te agradeceria si me puedes recomendar algun sitio donde pueda encontrar información acerca de como crear chats, ya que no he encontrado mucho en mis busquedas, de nuevo muchas gracias James
Este me parece muy bueno. Solo que está en ingles: http://www.androidhive.info/2014/10/android-building-group-chat-app-using-sockets-part-1/
Muchas gracias. De nuevo
Hola!
me sumo a los comentarios .. muy bien explicado y detallado
muchas gracias…!!!!
Gracias Alejandro, que bien que también te sea de utilidad 😀
Estimado,
La verdad soy poco de escribir comentarios en los blogs a los que visito, pero siempre hay algo que realmente sorprende a cualquier persona y es la calidad..
Quería Felicitarte por el excelente contenido que muestras en esta guía. He visitado muchos blogs, y revisado inmensidad de artículos, pero no me cabe la menor duda en decir que este es el mejor de todos, y por mucho… La manera en que esta estructurado, la facilidad de comprensión que tiene y la claridad como están redactados los conceptos es simplemente genial.
No me queda mas que aplaudir y agradecer tu trabajo…
Saludos, desde Perú…
¡Gracias Pierre!
Tu comentario me motiva a seguir creando mas contenidos amigo 😀 .
Cada que escribo intento que sea lo más útil para los lectores. Aunque hay alguno artículos que se pueden mejorar, continuamente estoy buscando formas de expresar los conocimientos de forma sencilla y ejemplificada.
Saludos!