Está en la página 1de 9

Fecha: 17-09 de

2020
UNIVERSIDAD DE SAN BUENAVENTURA
USB Versión 1

Programación de Dispositivos Móviles Página 1 de 9


Conectividad en App Móviles

Actividad No.10

ASIGNATURA: Programación de dispositivos móviles.

TEMAS: Conectividad y Web Services

ACTIVIDAD DE ENSEÑANZA – APRENDIZAJE – EVALUACIÓN: Establecer conexiones


entre un sistema de información y dispositivos moviles.

TIEMPO DE LA ACTIVIDAD DE E-A-E: 2 horas

TIEMPO DE LA GUIA DE APRENDIZAJE: 4 horas

Conceptos

Conectividad.
Cada vez más aplicaciones móviles necesitan datos para funcionar, y las bases de datos han sido durante bastante
tiempo la forma más común de almacenar y administrar datos.
Por lo tanto, en un escenario típico, una aplicación móvil usa una base de datos alojada que puede ser alojada de
forma local: Dispositivo, o en la nube: Hosting, de forma remota y establecer conexión para acceder a sus datos.
Esto, por supuesto, implica que la aplicación móvil necesita una conexión de red activa y bastante rápida.
La base de datos es la forma más común de almacenar y administrar datos. Desde hace bastante tiempo, las bases
de datos se manejan en el lado del servidor o en la nube y los dispositivos móviles solo se comunican con ellos a
través de la red. Hoy en día, las aplicaciones mantienen la base de datos localmente o hacen una copia de DB en
la nube en el dispositivo local y se sincronizan con ella una vez al día o cada vez que hay una conectividad de
red. Esto ayudará en aplicaciones más rápidas y receptivas que son funcionales incluso cuando no hay
conectividad a Internet o es limitada.

Características de las bases de datos para Android.

Las bases de datos para Android deben contener las siguientes características:

 Ligeras ya que el almacenamiento es limitado en dispositivos móviles.


 Sin requisito de servidor
 En una forma de biblioteca con ninguna o muy limitada dependencia (incrustable) para que se pueda
usar cuando sea necesario.
 Rápido y seguro.
 Fácil de manejar mediante código y opción para hacerlo privado o compartido con otras aplicaciones.
 Poca memoria y consumo de energía.

Profesor: Yamil Buenaños Palacios


ybuenano@udbbog.edu.co
Fecha: 17-09 de
2020

UNIVERSIDAD DE SAN BUENAVENTURA Versión 1

USB Página 2 de 9
Programación de Dispositivos Móviles
Conectividad

Bases de datos locales para dispositivos móviles

Base de
Tipo de datos Licencia Soporte
Datos
relacional, objetos, pares clave-valor,
BerkeleyDB AGPL 3.0 Android, iOS
documentos
Couchbase
documentos Apache 2.0 Android, iOS
Lite
LevelDB pares clave-valor New BSD Android, iOS
Android, iOS, Windows Phone,
SQLite relacional Public Domain
Blackberry
UnQLite pares clave-valor, documentos BSD 2-Clause Android, iOS, Windows Phone

Bases de datos Externas

La conexión directa a un Gestor de Base de Datos Externo desde Android es una posibilidad completamente
factible. Si bien es cierto que el propio sistema operativo Android trabaja con SQLite sin un servidor que
funcione como capa intermedia entre el S.O. y el Gestor de Base de Datos (no es posible la instalación de un
servidor en nuestro dispositivo Android), la opción de poder acceder a una base de datos externa desde el propio
dispositivo es una alternativa que no requiere de configuraciones especiales: bastaría con establecer permisos de
Internet en la aplicación que se desarrolle, además lógicamente, de un servidor externo para realizar la conexión.
Existen varios SGBD (Sistemas de Gestión de Base de Datos también conocidos por sus siglas en inglés DBMS)
que posibilitan la sincronización de una base de datos con una aplicación Android, lo cual nos permite hablar de
su transparencia de uso y conexión con Android. Es decir, que para establecer la conexión se puede utilizar cual
quiera de los Gestores de bases de Datos existentes, teniendo en cuenta que lo que varía en su utilización es de
acuerdo a la necesidad de solución que se desee implementar.
Para este caso y en aras de facilitar el proceso académico se utilizará el Gestor de Bases de Datos MySQL,

MySQL

Es un Sistema de gestión de base de datos relacional multiusuario y multihilo. Desarrollada inicialmente por
Sun Microsystems, actualmente su propietario es Oracle Corporation. Software libre y tipo de licencia GNU
GPL para aquellos proyectos que se adapten a este tipo de licencia (permite usar, compartir y modificar el
software), con la opción de poder adquirir una de carácter más privativo previo pago (parte del código está bajo
copyright).

Profesor: Yamil Buenaños Palacios


ybuenano@udbbog.edu.co
Fecha: 17-09 de
2020

UNIVERSIDAD DE SAN BUENAVENTURA Versión 1

USB Página 3 de 9
Programación de Dispositivos Móviles
Conectividad

Servicios web

Conjunto de aplicaciones o de tecnologías con capacidad para inter operar en la Web. Estas
aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios. Los
proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio
llamando a estos procedimientos a través de la Web.

Estos servicios proporcionan mecanismos de comunicación estándares entre diferentes aplicaciones,


que interactúan entre sí para presentar información dinámica al usuario. Para proporcionar
interoperabilidad y extensibilidad entre estas aplicaciones, y que al mismo tiempo sea posible su
combinación para realizar operaciones complejas, es necesaria una arquitectura de referencia estándar.

Existen varias clases de Web Services, sin embargo, para establecer la conectividad de dispositivos
moviles con otros sistemas externos, se utilizará el servicio RESTFUL.

REST (REpresentation State Transfer). Los Servicios Web basados en REST intentan emular al
protocolo HTTP o protocolos similares mediante la restricción de establecer la interfaz a un conjunto
conocido de operaciones estándar (por ejemplo GET, PUT,...). Por tanto, este estilo se centra más en
inter actuar con recursos con estado, que con mensajes y operaciones. Y es un estilo de arquitectura de
software para sistemas hipermedias distribuidos tales como la Web. El término fue introducido en la
tesis doctoral de Roy Fielding en 2000, quien es uno de los principales autores de la especificación de
HTTP.

En esta guía se propone una actividad donde se desarrollará un ejemplo de conexión de una Aplicación
Android con una base de datos externa MySQL.

Profesor: Yamil Buenaños Palacios


ybuenano@udbbog.edu.co
Fecha: 17-09 de
2020

UNIVERSIDAD DE SAN BUENAVENTURA Versión 1

USB Página 4 de 9
Programación de Dispositivos Móviles
Conectividad

Actividad
Desarrollar una aplicación móvil que permita agendar diferentes actividades estableciendo la conexión
con una base de datos externa (MySQL). La aplicación deberá insertar y consultar información a través
del dispositivo móvil.

Características de navegación:

1. Pantalla de inicio
1.1. Agenda
1.1.1. Registrar información
1.1.2. Consultar información

Recomendaciones:
1. Crear la Base de Datos donde se almacenará la información, para lo cual puede utilizar MySQL.
2. Diseño y desarrollo de la App
3. Implementar el Web Services.
4. Establecer la configuración y conexión entre el Web Services y la Base de Datos de la
aplicación.
5. Pruebas y entrega.

Web Services con PHP

Se debe tener en cuenta que para realizar la conexión a bases de datos utilizando es tipo de web Services, se
debe activar el servició Apache.

Ejemplo URL para php


URL url=new URL("http://192.168.0.5/WebServiceEjemplo/agregar.php");

URL url = new URL() => Construcción del objeto URL


192.168.0.5 => Dirección IP del servidor
WebServiceEjemplo => Nombre del sitio, aquí se almacenan los archivos PHP
agregar.php => Nombre del archivo que contiene la operación transaccional a realizar.

Profesor: Yamil Buenaños Palacios


ybuenano@udbbog.edu.co
Fecha: 17-09 de
2020

UNIVERSIDAD DE SAN BUENAVENTURA Versión 1

USB Página 5 de 9
Programación de Dispositivos Móviles
Conectividad

Guardar datos en la BD:


Toma los datos de la interfaz y los envía a la base de datos a través de la URL.

Estructura
new
URL("http://10.0.2.2/CursoAndroid/registro.php?nombres="+etNombres.getText().toString()+"&telefono="+etT
elefono.getText().toString());

nombres y teléfono => son las variables donde se almacena la información que obtiene mediante la interfaz.
etNombres => Nombre del campo EditTex().
getText().toString() => Objeto que permite obtener los datos del capo de texto.
(?) => Símbolo de interrogación que permite iniciar la cadena para obtener los datos.
(&) => Símbolo Amspersan permite concatenar las variables para formar la cadena que será enviada a la base
de datos.

Selección de Datos de la BD
new URL("http://10.0.2.2/CursoAndroid/consulta.php?id="+etId.getText().toString());

//Construcción de la Activity URL

Se construye una activity, con el fin de parametrizar la dirección de acceso o web services.

Ejemplo:

public class URL extends AppCompatActivity {

/* **** Conexion local **** */


public static final String IP = "10.0.2.2"; //dirección ip predeterminada del emulador de Android
Studio.
public static final String sitio = "nombre_sitio"; //Nombre del sitio “es una Carpeta” donde se
almacenan los archivos PHP del lado del servidor.

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.url);
}
}
Profesor: Yamil Buenaños Palacios
ybuenano@udbbog.edu.co
Fecha: 17-09 de
2020

UNIVERSIDAD DE SAN BUENAVENTURA Versión 1

USB Página 6 de 9
Programación de Dispositivos Móviles
Conectividad

//Construcción del web services

new nombre_activity.ConsultarDatos().execute("http://"+IP+"/"+sitio+"/"+"consultar_perfil.php);

El nombre_activity es la clase donde se escribe el código de programa y ConsultarDatos() es el método que


contiene la información del proceso u operación a ejecutar en la base de datos.

Programación del lado del servidor

Abrir un archivo Bloc de Nota, copiar cada uno de los archivos que se describen a bajo. Cada archivo
es un Bloc de nota diferente.

//Código que permite configurar los Objeto de Conexión

<?php
// datos de configuración de la conexión a la base de datos

$host = "localhost"; //Dirección del servidor (Local)


$usuario = "root"; //Nombre usuario de la base de datos
$clave = "123"; // Contraseña de la base de datos
$bd = "bd_informacion"; //Nombre de la base de datos
?>

//Código que permite realizar la consulta de datos


<?php
include_once("conexion.php");

//1. Crear conexión a la Base de Datos


$con=mysqli_connect($host,$usuario,$clave,$bd) or die('Fallo la conexion');
mysqli_set_charset($con,"utf8");

//2. Tomar los campos provenientes de la tabla


$consulta="SELECT * FROM $bd.nombre_tabla";
$resultado = mysqli_query($con, $consulta);

while($fila = mysqli_fetch_row($resultado))
{
echo json_encode($fila);
}
mysqli_close($con);
?>

Profesor: Yamil Buenaños Palacios


ybuenano@udbbog.edu.co
Fecha: 17-09 de
2020

UNIVERSIDAD DE SAN BUENAVENTURA Versión 1

USB Página 7 de 9
Programación de Dispositivos Móviles
Conectividad

//Código que permite Insertar los datos en la tabla de la BD


<?php

//1. Invoca los datos de conexión

include_once("conexion.php");

//2. Crear conexión a la Base de Datos

$con=mysqli_connect($host, $usuario, $clave, $bd) or die ('Falló la conexión');


mysqli_set_charset($con,"utf8");

//3. Tomar los campos provenientes del Formulario

$variable1 = $_GET['nom_campo1_layout'];
$variable2 = $_GET['nom_campo2_layout'];

//4. Insertar campos en la Base de Datos

$inserta = "INSERT INTO $bd.nombre_tabla (nombre_campo1_tabla, nombre_campo2_tabla)


VALUES ('$variable1','$variable2');";
$resultado = mysqli_query($con, $inserta);
echo json_encode ($resultado);

//5. Cerrar la conexión a la Base de Datos

mysqli_close($con);
?>

Profesor: Yamil Buenaños Palacios


ybuenano@udbbog.edu.co
Fecha: 17-09 de
2020

UNIVERSIDAD DE SAN BUENAVENTURA Versión 1

USB Página 8 de 9
Programación de Dispositivos Móviles
Conectividad

Creación del Sitio


Posteriormente se debe ubicar la carpeta www, en el servidor, para el presente ejercicio el servidor
utilizado es el WampServer. Por otro lado, en caso que se esté utilizando otro servidor, se procede de
igual forma. A continuación, se describe el proceso:

1. Entrar a la unidad C: del PC.

Fig.1

2. Luego seleccionar la carpeta WWW y abrirla

Fig.2

3. Dentro de la carpeta WWW, crear la carpeta donde se guardarán los archivos PHP (Nombre del
sitio). De esa forma ya está configurado el servidor

// Nombre del sitio


Fig.3

Profesor: Yamil Buenaños Palacios


ybuenano@udbbog.edu.co
Fecha: 17-09 de
2020

UNIVERSIDAD DE SAN BUENAVENTURA Versión 1

USB Página 9 de 9
Programación de Dispositivos Móviles
Conectividad

4. Por ultimo proceda a probar el servido, para verificar que el mismo pueda visualizar los
archivos alojados en el sitio, PracticaMovil. Para lo cual, proceder escribiendo en el
visualizador la siguiente línea de código:

Figura 4

Deberá aparecer una pantalla como la que se describe en la figura 4, la cual indica que ya esta listo y
configurado el servidor.

5. Para comprobar la inserción de datos, escribir la siguiente linea de código en visualizador:

http://localhost/practicaMovil/insertar.php?cidentificacion="1234"&cnombre="Fulanito"&capellido ="Jiménez Rojas";

6. Posteriormente dirigirse a la base de datos y verificar que los datos fueron insertados en la tabla.

Profesor: Yamil Buenaños Palacios


ybuenano@udbbog.edu.co

También podría gustarte