¿Cómo funciona un Servicio Web en Android?
Clase 82 de 96 • Curso Definitivo de Android 2016
Contenido del curso
Creando nuestro entorno de desarrollo
Básicos de Android
Creando Platzigram
- 20

Configurando nuestro tema Material
16:41 min - 21

Widgets de Material Design
10:39 min - 22

Maquetando nuestras vistas del proyecto
14:21 min - 23

¿Qué es un Activity?
22:21 min - 24

Maquetando nuestros Activities
25:19 min - 25

Internacionalización de Textos
11:20 min - 26

Rised button
09:54 min - 27

EditText con Material Design
11:26 min - 28

Terminando el Home de nuestra aplicación
09:17 min - 29

Toolbar
20:30 min - 30

Intents
12:29 min - 31

CardView
07:51 min - 32

Analizando nuestra vistas
07:48 min - 33

Maquetando nuestro CardViewd
29:35 min - 34

Introducción a Fragments
08:37 min - 35

Creando nuestros fragments
21:46 min - 36

Fragments en nuestro BotttomBar
19:13 min - 37

¿Cómo funciona un RecyclerView?
11:44 min - 38

Implemententando RecyclerView
28:43 min - 39

Picasso
05:54 min - 40

Analizando nuestra vista
10:04 min - 41

Collapsing Toolbar Layout, AppBarLayout
26:32 min - 42

Onclick Listener en RecyclerView
11:06 min - 43

Implementando la vista de perfil
15:07 min - 44

Comportamientos dependientes en Material Design
22:48 min - 45

Transiciones en Android.
16:32 min
Conclusiones
Continuando con Platzigram
Arquitectura en Android
- 52

¿Por qué se debe implementar una Arquitectura en Android?
06:40 min - 53

Principios SOLID en Android
05:46 min - 54

¿Qué es y por qué implementar MVP en Android?
05:38 min - 55

MVP en Android un ejemplo sencillo
32:06 min - 56

¿Qué es la arquitectura limpia? Clean Architecture
08:38 min - 57

Platzigram con Clean Architecture creando la entidad Login
14:21 min - 58

Integrando un Presenter e Interactor a Platzigram
10:44 min - 59

Creando un Repository en Platzigram
15:09 min
Accediendo al Hardware en Android
Configuración de Firebase en Android
Gradle en Android
Firebase Authentication en Android
- 67

Cómo funciona Firebase Authentication en Android
13:00 min - 68

Firebase Authentication Correo y Contraseña en Platzigram
21:34 min - 69

Sign In y Sign Out Correo y Contraseña en Platzigram
11:43 min - 70

Configurando Facebook Developers
10:53 min - 71

Implementando Facebook Login en Platzigram
14:00 min - 72

Manejando una sesión en Facebook con Android y Firebase
07:57 min
Almacenamiento en Android
Menús en Android
Firebase Storage en Android
Logcat de Android y Crash Reporting de Firebase
Conexión a Servicios Web con Retrofit en Android
Trabajando con otra API, Medium
Seguridad en Android
Animaciones en Android
Android Things
Publicación en el PlayStore
Contenido complementario
En los próximos capítulos consumiremos un API Rest y para esto es muy importante entender cómo se da este proceso en Android.
En mi tiempo como desarrolladora e instructora he escuchado mucho la pregunta ¿Cómo integro una base de datos MySQL en Android? El manejador oficial de bases de datos en Android es SQLite, por lo tanto esta pregunta me hace pensar que probablemente haya una confusión en el termino y en el requerimiento que les están haciendo a ustedes como devs de Android.
En esta capitulo resolveremos esa duda y entenderemos todo el proceso que debemos realizar para que una base de datos construida con MySQL, Oracle, SQL Server, etc. pueda convivir con Android
Comenzaremos diciendo: siempre que necesitemos construir una aplicación móvil cuyos datos no vivan en la app es decir, necesitemos mostrar información traída de internet, en todos estos casos usaremos un Servicio Web.
En esta imagen te muestro la manera como esta magia funciona.
Como observas existen 4 personajes, te los enumero a continuación.
1. Clientes 2. Internet 3. Web Server 4. Base de Datos
1. Clientes
Los Clientes son básicamente todas aquellas aplicaciones que necesitan mostrar datos de internet, puede ser una aplicación móvil como es en nuestro caso con Android, un sitio y/o sistema web y/o de escritorio. Incluso pueden funcionar ++todos simultáneamente.++
Haz escuchado ese dicho de “Al Cliente lo que pida” bueno, básicamente los clientes se encargarán de pedir, pedir y pedir información para mostrarla en sus interfaces gráficas. Los clientes también pueden mandar datos para que estos sean almacenados o modificados.
La información que recibe el cliente tiene que ser lo más simple y ordenada posible, por eso, seguramente habrás escuchado del término JSON (JavaScript Object Notation) y XML (eXtensible Markup Language), bueno, estos términos son básicamente formas o formatos de presentar y ordenar la información, por eso es común escuchar “la información viene o está en formato JSON”.
2. Internet
Internet es el puente de comunicación que existirá entre el cliente y cualquier otra cosa, es el camino donde se propaga la información y todo se hace a través del protocolo HTTP / HTTPS. Tomando en cuenta que la información viaja en internet, en el camino puede haber interceptores que quieran leer nuestros datos o alterarlos, por eso es recomendable que la información viaje encriptada pues es una manera de protegerla, para esto, lo mejor es usar el protocolo HTTPS (Hypertext Transfer Protocol Secure) en lugar de HTTP.
3. Web Server
El Web Server es la mente maestra de la información, es quien controla sus entradas y salidas, los conocidos Request y Response (peticiones y respuestas).
Para que el Web Server pueda funcionar inteligentemente es necesario que tenga un Software o Sistema que interprete estas peticiones, haga algo con los datos y devuelva una respuesta. La recomendación es que estas aplicaciones sean construidas como API’s pues así nos aseguramos que cumplan especificaciones de Programación Orientada a Objetos lo cual es muy importante para mantenerlo lo más natural e intuitivo posible. La mejor forma de construir este software es usando los estándares de API REST de los cuales te contaré más en el ++siguiente capítulo++.
El punto de entrada a esta API será por medio de una URI (Uniform Resource Identifier) un identificador de recursos único que contiene una URL (Uniform Resource Locator) el localizador uniforme de recursos, así cuando nuestro cliente haga una petición por medio de una URI sabremos que recurso nos están solicitando.
Un ejemplo podría ser https://platzi.com/cursos/ gracias a esta URI entendemos que necesita el recurso (objeto) cursos.
4. Base de Datos
Las bases de datos son un elemento muy importante en todo este proceso, pues aquí almacenamos toda nuestra información, esta debe estar sumamente cuidada y estructurada para que cuando nos hagan consultas la base de datos responda muy rápido.
Estas bases de datos pueden estar construidas con casi cualquiera de los manejadores más famosos como MySQL, Oracle, Postgre, SQL Server, etc. no hay uno mejor ni peor, todos tienen sus ventajas, cuéntame ¿cuál te gusta más a ti? o ¿cuál has usado?.
Estas bases de datos contendrán la información principal de toda la lógica de negocio de nuestro proyecto, como te puedes imaginar será mucha información, la cual no puede vivir en el móvil, pues no toda es requerida. Es valido tener bases de datos en el móvil pero estas deben componerse de ++información muy precisa++ que consideremos importante sólo en lapsos de tiempo en los que el dispositivo ++no tiene internet++ para mantener la persistencia.
¡Retomemos todo lo que aprendimos!
En este momento ya conoces un poco más a detalle cada elemento, quiero explicarte cómo todos se unen. Imagina que queremos obtener todos los cursos que imparte Platzi:
1. Uno de nuestros clientes hará una petición al API Rest de Platzi, a través de una URI. https://platzi.com/cursos/
2. La petición viaja por internet a través del protocolo HTTPS
3. La petición llega al servidor, el API Rest analiza la URI y define que método se encargará de realizar la consulta a la base de datos y procesar la información.
4. El server devuelve la información en formato JSON o XML para viajar de nuevo a través de internet y llegar al cliente.
5. El cliente procesa la información y la muestra en su interfaz gráfica.
Con esto ya hemos aprendido un ciclo completo de cómo funcionan las aplicaciones online en Android y el valioso papel que tiene un Servidor Web para mantener la persistencia de la información una capa más allá del almacenamiento interno del dispositivo.
Te veo en el siguiente capítulo para explicarte cómo funciona un API Rest, y eso no es todo, se pone más emocionante pues en los siguientes posts te enseñaremos a trabajar con una API Rest real y enlazarla a tu dispositivo Android con Retrofit.
¿Quieres continuar? Cuéntame si te quedó todo claro y si tienes dudas escríbelas, todos queremos ayudar a resolverlas :)