SlideShare una empresa de Scribd logo
1 de 18
Turismo Sobre Ruedas (TOW)
Universidad de Cuenca
Programación 3 G1
Proyecto Interciclo “Turismo Sobre Ruedas”
Bryan Aguilar
Resumen
Con la presente aplicación, se pretende ofrecer un software que fomente el turismo
en la ciudad de Cuenca, con esta aplicación se pretende brindar un servicio turístico
en el que cualquier usuario pueda ser un “guía turístico” brindando servicios con su
vehículo. Los principales objetivos han sido: establecer un motor de búsqueda y
almacenamiento de información con el manejo de bases de datos SQLite, emplear
APIs con código abierto como es el caso de Google Maps y Google Directions API
entre otras. Lograr una aplicación intuitiva y amigable con el usuario de modo que
esta resulte de interés y no monótona. Todo el proceso realizado se ha
complementado con imágenes y secciones del código para una mejor comprensión
de todo lo que se ha llevado a cabo en el presente trabajo, estos recursos se los
puede encontrar en las secciones de “Figuras” y “Secciones de código”
respectivamente. Se han utilizado diversos materiales y métodos que han sido
esenciales en el proceso, estos materiales se describen con mayor detalle en la
sección de “Materiales y Métodos”.
Palabras Clave
★ TOW: abreviatura del nombre de la aplicación (Tourism On Wheel) que en
castellano significa Turismo Sobre Ruedas.
★ Layout: contiene ficheros de definición XML de las diferentes pantallas de la
interfaz gráfica.
★ Uri: identificador de recursos uniforme, cadena de caracteres que identifica
recursos de una manera única. Similar a una dirección web de un navegador.
★ Polilínea: serie de segmentos conectados que forman un único objeto para
su creación se requiere de la clase google.maps.Polyline.
Introducción
El proyecto a desarrollarse está centrado en la temática del “Turismo y transporte
público en la ciudad de Cuenca”. Se pretende generar una aplicación que permite al
usuario realizar el alquiler de un vehículo con fines turísticos u ofrecer servicios a
usuarios, poniendo a disposición datos del conductor y del vehículo con el objetivo
de ser “un guía turístico” para quien lo solicite. Todo esto con el fin de brindar al
usuario un recorrido por distintas rutas turísticas predeterminadas, con el fin de
Turismo Sobre Ruedas (TOW)
mostrar los atractivos turísticos más significativos en la ciudad, donde encontramos
una gran cantidad de edificaciones de estilo colonial y republicano, zona
arqueológica, barrios artesanales y varios sitios de importancia paisajística y
cultural.TOW, tiene como objetivos:
★ Poseer la capacidad de registrar datos de vehículos y sus respectivos
propietarios. Mismos que brindarán un servicio de “guía turístico” a los
usuarios que los soliciten.
★ Visualizar rutas turísticas en toda la ciudad de Cuenca, mostrando los
atractivos turísticos más relevantes; las rutas deben comprender: santuarios
religiosos, museos de la ciudad, monumentos, parques de la ciudad y una
ruta turística completa.
★ Solicitar un servicio de “guía turístico” a partir de cuantas personas vayan a
requerir el servicio. Es decir a partir de la capacidad del vehículo se realizará
una consulta de los vehículos registrados y se mostrarán la lista de los
vehículos y datos de cada uno.
★ Brindar la posibilidad de ponerse en contacto con el propietario de un
vehículo registrado vía telefónica.
★ Ser una aplicación intuitiva e interactiva, con una interfaz de fácil manejo y
comprensión. Capaz de poder ser usada por cualquier tipo de público.
Se aplicarán conocimientos de la programación orientada a objetos y programación
imperativa, empleando los principios y definiciones básicas de estos paradigma de
programación. Para lograr los objetivos planteados por parte del desarrollador.
Materiales y Métodos
★ Android Studio: entorno de desarrollo utilizado para crear la aplicación
android y generar la apk para comprobar su correcto funcionamiento.
★ Dispositivo Android (SmartPhone o Tablet): dispositivo utilizado para
ejecutar la aplicación, verificar todos los cambios y realizar modificaciones.
★ Google Drive: servicio de alojamiento de archivos, utilizado para la creación
del presente informe.
★ Google Directions API: La google directions API es un servicio que calcula
indicaciones entre ubicaciones. Buscar indicaciones para diferentes medios de
transporte, incluidos el transporte público o particular y el desplazamiento a pie o en
bicicleta.
★ DB Browser for SQLite: herramienta de código abierto y de alta calidad para
crear, diseñar y editar archivos de bases de datos compatibles con SQLite.Es
para usuarios y desarrolladores que desean crear bases de datos, buscar y
editar datos. Utiliza una interfaz similar a la hoja de cálculo y no necesita
aprender comandos SQL complicados.
★ Console Google Developers: permite crear, implementar y escalar
aplicaciones, sitios web y servicios de la misma infraestructura de google.
Turismo Sobre Ruedas (TOW)
★ Google Play Services: es un conjunto de librerías de google que brindan a
los desarrolladores las funcionalidades de aplicaciones de Google como:
Gmail, Analytics, Google Fit, Google Maps, etc.
★ Github: repositorio utilizado para las descargas de códigos y proyectos de
guía para el desarrollo.
★ YouTube: plataforma de recolección de información y tutoriales de interes.
Para el desarrollo.
★ Launcher icon generator: herramienta utilizada para la creación del ícono
de la aplicación.
Descripción de la aplicación TOW.
Esta aplicación permite a los usuarios realizar solicitudes de vehículos mediante una
aplicación móvil, especificando el número de personas que van a utilizar el servicio,
la aplicación les ofrecerá los distintos tipos de vehículos disponibles junto con sus
datos correspondientes tanto al vehículo como a su propietario. Es un proceso fácil,
seguro y efectivo para dar a conocer a la ciudadanía local y demás, los diferentes y
principales atractivos turísticos que posee la ciudad de Cuenca con la ayuda de
rutas turísticas predefinidas, las mismas que se encuentran clasificadas por ruta de
Santuarios de la ciudad, Ruta de Museos más importantes, Ruta por los parques de
la ciudad, Algunos monumentos y lugares importantes y una Ruta turística completa
por los principales puntos de turismo. Se considera que el proyecto presentado
fomentará el turismo en la ciudad, ya que posiblemente muchas de las personas
que habitan, o no, en la localidad, desconocen lugares que representan historia y
cultura, por lo que esta aplicación resultará útil a la hora de hacer turismo y recorrer
la ciudad.
1. Estructura de la aplicación:
Para la creación de la aplicación TOW, se ha hecho uso del entorno de desarrollo
Android Studio para el desarrollo de aplicaciones móviles. Se ha creado un proyecto
llamado <TurismoSobreRuedas>, con paquete principal para las clases java
denominado <turismosobreruedas.universidadcuenca.com.turismosobreruedas>, la
aplicación está programada para que sea compatible con la versión de Android 5.1
Lollipop (API 22). Como se puede observar en la (Figura 1), la aplicación TOW está
constituida por el módulo app y el módulo Gradle Scripts.
El módulo app contendrá todo el software de la aplicación TOW. A su vez está
compuesto de la carpeta java que contiene todo el código fuente de la aplicación,
clases auxiliares, etc. La carpeta res que contiene los ficheros de recursos
necesarios para el proyecto: imágenes, layouts, menú (que contiene la definición
XML de los menús de la aplicación), mipmap (contiene los íconos de lanzamiento de
la aplicación para las distintas densidades de pantalla existentes), values (cadenas
de texto: strings.xml, colores: colors.xml, tamaños: dimens.xml). Y finalmente la
Turismo Sobre Ruedas (TOW)
carpeta manifest que contiene la definición XML de muchos de los aspectos
principales de TOW, identificación, componentes (pantallas, o servicios...) y
permisos necesarios para la ejecución.
El módulo Gradle Scripts contiene la información necesaria para la compilación del
proyecto como la versión de Android soportada, referencias a librerías externas, etc.
En su interior contiene al elemento build.gradle donde se encuentran las librerías
internas y externas utilizadas y una serie de elementos generados automáticamente
al compilar el proyecto. Ya que son generados automáticamente es importante que
no se modifique manualmente.
2. Registro de usuarios (Capa de Datos):
Uno de los objetivos de la aplicación es realizar un registro de usuarios junto con las
características de su vehículo. La plataforma Android proporciona dos herramientas
principales para el almacenamiento y consulta de datos estructurados:
★ Bases de Datos SQLite.
★ Content Providers.
Todas estas operaciones se encuentran estructuradas en clases en la capa de
datos como se muestra en la (Figura 2).
Bases de datos SQLite es un motor de bases de datos popular en la actualidad por
ofrecer características interesantes como su pequeño tamaño, no necesitar servidor,
precisar poca configuración y por supuesto ser de código libre. Android incorpora
de serie todas las herramientas necesarias para la creación y gestión de bases de
datos SQLite, y entre ellas una completa API para llevar a cabo de manera sencilla
todas las tareas necesarias. En Android, la forma típica para crear, actualizar, y
conectar con una base de datos SQLite será a través de una clase auxiliar llamada
SQLiteOpenHelper, para ello se ha creado una clase que llamaremos
UsuariosDataBaseHelper.o para ser más exactos, de una clase propia que
derive de ella y que debemos personalizar para adaptarse a las necesidades
concretas de nuestra aplicación (Ver Sección_Código 1).
La clase SQLiteOpenHelper tiene tan sólo un constructor, que normalmente no
necesitaremos sobrescribir, y dos métodos abstractos, onCreate() y
onUpgrade(), que deberemos personalizar con el código necesario para crear
nuestra base de datos y para actualizar su estructura respectivamente. Para la
aplicación TOW, ha creado una base de datos llamada usuarioTOW.database,
con una sola tabla llamada actividad que contendrá los campos: NOMBRE
(Nombre del usuario a registrar), PLACA(Placa del vehículo a registrar),
TIPO(Tipo del vehículo a registrar. I.e. camioneta,automóvil,etc), CAPACIDAD(El
número de plazas del vehículo ‘¿Cuántas personas?’), TELÉFONO(Número de
Turismo Sobre Ruedas (TOW)
teléfono del usuario). (Ver Sección_Código 2).
El procedimiento onCreate() es el encargado de crear nuestra base de datos a
partir de la sentencia execSQL(). La base de datos creada se almacenan en la
memoria del teléfono en un fichero con el mismo nombre de la base de datos. Para
TOW está almacenada en la ruta siguiente:
/data/data/turismosobreruedas.universidadcuenca.com.turismo
sobreruedas/databases/usuarioTOW.database
Con esto, la base de datos para la aplicación TOW está creada y lista para guardar
y recuperar datos. Ya solo nos queda comprobar que la base de datos creada
funciona correctamente. Para ello hemos utilizado un administrador de bases de
datos. DB Browser for SQLite y se han insertado registros directamente en el
código, con lo que las tablas de nuestra base de datos (vea Figura 3).
Content Provider es un mecanismo proporcionado por la plataforma Android para
compartir información entre aplicaciones. Una aplicación que desee que todo o parte
de la información que almacena esté disponible de una forma controlada para el
resto de aplicaciones del sistema deberá proporcionar un content provider a través
del cual se pueda realizar el acceso a dicha información. Este mecanismo es
utilizado por aplicaciones estándar como por ejemplo la lista de contactos, la
aplicación de SMS, o el calendario/agenda.
Para la aplicación TOW, se implementará un content Provider personalizado para el
registro de los datos en la Base de Datos SQLite, cabe mencionar que el Content
Provider funciona solo con algún método de almacenamiento interno para la
información. La manera de trabajar con este tipo de mecanismos y manejar es a
través de una URI, que no es más que una cadena de texto similar a cualquiera de
las direcciones web que utilizamos en nuestro navegador. Por ejemplo
“content://net.google.android.contentproviders/clientes“. Esto es importante ya que
será el Content Provider el encargado de interpretar/parsear la URI completa para
determinar los datos que se enten solicitando.
Al sobreescribir los métodos necesarios en nuestra clase UsuariosProvider se
ha completado la construcción de este mecanismo que proporciona modalidades
necesarias para consultar, insertar, eliminar y actualizar datos de la aplicación TOW.
(Ver Sección_Código 3).
Ingreso y visualización de registros. Para el ingreso de los datos, todas las clases
necesarias para este proceso se encuentran en la ruta (ver figura 4):
app/java/turismosobreruedas.universidadcuenca.com.turismosobre
ruedas/registro
Turismo Sobre Ruedas (TOW)
- La clase DetalleActivity en conjunto con la clase DetalleFragment
es la encargada de que cuando se presione un usuario registrado, se
muestre la información detallada de cada uno; esto es: imágen de su
vehículo, nombre del contacto registrado, su teléfono, la capacidad con la que
registró su vehículo así como la placa y el tipo.
- La clase InsertarActivity en conjunto con la clase
InsertarFragment, son las encargadas de registrar los datos del usuario
en la base de datos SQLite, y de validar que todos los campos contengan
información antes de agregarlos.
- La clase MainActivity en conjunto con la clase MainFragment
cumplen con las funciones de actualizar la lista de contactos después de el
ingreso de un registro, mostrando los nuevos registros al final de la lista.
Todas estas acciones se las puede apreciar en el funcionamiento de la aplicación
como se muestra en las Figuras 5,6 y 7.
3. Visualización de rutas turísticas (Capa lógica de negocios):
Lo primero a realizar en este punto es introducir un mapa en la aplicación TOW, ya
que usar este recurso en aplicaciones Android permitirá aumentar la calidad del
servicio y ayudará al usuario asociar ubicaciones a sus necesidades de manera
intuitiva. Para lo cual serán requeridos los servicios de Google Play Service, en
particular el servicio de Google Maps. Para ello debemos tener activos estos
servicios en nuestro entorno de desarrollo y los activamos como se muestra en la
(Figura 8). Las dependencias de nuestro entorno se actualizarán y la aplicación
TOW queda sincronizada para agregar el mapa mundial de Google Maps. Pero
antes tenemos que crear un proyecto en la Consola de Google para Desarrolladores
(ver Figura 9), la misma que permitirá habilitar el servicio web con y proveer los
datos desde la API de Google Maps así como las credenciales para la aplicación.
Este tipo de credenciales se conocen como (huella dactilar “digital”) SHA-1. (ver
Figura 10). Con todo esto realizado la aplicación de TOW ahora contiene un mapa
de Google Maps. (ver Figura 11).
Una vez que contamos con el mapa el objetivo será trazar rutas por diferentes
puntos del mapa, mismos que han sido seleccionados por el desarrollador. Los
puntos han sido colocados en el mapa con marcadores que identifican la categoría y
el lugar como se muestra en (ver Figura 12). <Imagen/Nombre>. Para trazar las
rutas por los puntos antes descritos se hace uso de los servicios web de Google
Directions API que calcula indicaciones entre ubicaciones a partir de solicitudes
construidas como un string de URL usando coordenadas de latitud y longitud para
identificar ubicaciones junto con la clave de API obtenida en (ver Figura 10). Para
implementar las rutas en el mapa se usará la herramienta de WayPoints propia de la
API de Google Directions. Esta herramienta nos ayudará a mostrar indicaciones
Turismo Sobre Ruedas (TOW)
entre diversos puntos de ubicación en el mapa que se conocen como <Paradas>
entre dos puntos determinados. La ruta entre dichas <Paradas>, se traza mediante
un Algoritmo de Polilíneas Codificadas. (ver Sección_Código 4) La aplicación
TOW calcula la ruta a través de los waypoints optimizando la ruta proporcionada de
manera más eficaz. “Esta optimización es una aplicación del problema del viajante“.
(ver Figura 13).
Todas las clases y métodos implementados en esta sección están presentes en la
capa lógica de negocios como se muestra en la (Figura 14). Las opciones para
escoger entre las diferentes rutas se encuentran en el menú de navegación que se
encuentra en la parte inferior del mapa, en el cual el usuario podrá escoger entre
cinco diferentes rutas que son: Ruta Iglesias de Cuenca, Ruta de Museos en la
Ciudad, Ruta de monumentos y sitios de importancia, Ruta de Parques más
importantes y una Ruta completa por los puntos más relevantes de la ciudad. (ver
Figura 15).
4. Solicitar una ruta/servicio turístico:
La aplicación TOW, tiene como objetivo brindar al usuario la posibilidad de hacer
una consulta en la base de datos SQLite de los registros almacenados, a partir del
campo de búsqueda CAPACIDAD (que representa el número de personas que
caben en un vehículo registrado), esto dependiendo del número de personas que
solicitan el vehículo. El botón se denomina <Solicitar Ruta> (ver Figura 16). Este
nos redirecciona a una actividad que nos permite ingresar cuantas personas van a
solicitar el servicio (Ver figura 17). La clase que realiza este proceso es la clase
buscarActivity a partir de una instancia de nuestra clase
UsuariosDataBaseHelper y mediante el método rawQuery() que tiene como
parámetro el argumento de la consulta a realizar en la base de datos. Con esto en
mente se realiza una recuperación de los registros mediante una estructura
do{...}while() misma que obtendrá la información de los campos
pertenecientes a los registros consultados (ver Sección_Código 5).
La información recuperada, resultado de la consulta en la base de datos será
almacenada en un contenedor listView personalizado y posteriormente se
mostrará al usuario como se puede ver en (Figura 18). Se muestran todos los
vehículos registrados con la CAPACIDAD que fue consultada por el usuario.
5. Ponerse en contacto con el propietario del vehículo:
A partir de la lista de vehículos consultado como se mostró en la (Figura 18), el
usuario de TOW tendrá la facilidad de ponerse en contacto con el propietario del
vehículo de su preferencia por medio de una llamada telefónica. Para ello basta con
que el usuario presione sobre un vehículo y tras hacerlo aparecerá una barra de
notificación en la parte inferior de la pantalla como se muestra en la (Figura 19). En
Turismo Sobre Ruedas (TOW)
donde aparecerá el nombre de del propietario de dicho vehículo y su número
telefónico registrado. Se puede presionar el número telefónico y enseguida se
redireccionará al teclado telefónico del dispositivo y el número del propietario
colocado de tal manera que el usuario solo realice una llamada normal para ponerse
en contacto. (ver Figura 20).
6. Capa de presentación:
En esta sección daremos a conocer las clases que conforman la capa de
presentación; esta capa hace referencia a la interfaz gráfica de usuario, las clases
implementadas se pueden ver en la (Figura 21). El paquete detalle listview
contiene las clases necesarias para mostrar la información en un listview
personalizado después de realizar la consulta en la base de datos. La clase primera
contiene las acciones de los botones de inicio de la aplicación (ver Figura 22). Las
clases informaciónapp y inforutasActivity son actividades que solo
muestran información sobre la aplicación (una visión general) e información de las
rutas disponibles respectivamente. (ver Figuras 23, 24). Mientras que la clase
ActivityAdapter,sirve para mostrar el detalle de cada usuario registrado (ver
Figura 5). cabe recalcar que toda la parte gráfica se encuentra en
app/res/layout que contiene archivos XML que delimitan la interfaz gráfica de
usuario de la aplicación TOW.
Conclusiones:
★ Los Content Provider son elementos que permiten compartir datos de la
aplicación TOW con otras aplicaciones de forma segura, como se pudo
observar en el literal 5. (Conectar la aplicación con un servicio de llamada
telefónica).
★ Un content provider puede interpretarse desde un enfoque de diseño como
un patrón de la arquitectura MVC (Modelo - Vista - Controlador), debido a la
virtualización de datos con URis para el registro de información y que
actualice la interfaz ante el usuario. Y separa las capas lógica de negocios y
la de datos.
★ Para la creación de la base de datos SQLite se ha implementado una clase
tipo contrato para estandarizar la estructura de la tablas y las columnas o
campos de información.
★ Existen herramientas como SQLite Browser para visualizar el modelo de
datos y tablas.
★ Millones de sitios web y apps usan Google Maps API para potenciar las
experiencias de sus usuarios relacionadas con la ubicación.
★ Google Maps API junto con Google Directions API para android están
disponibles a través de los servicios de Google Play para que la aplicación
pueda conocer la ubicación, incluir mapas, datos, y mucho más.
Turismo Sobre Ruedas (TOW)
★ Para realizar una consulta en la base de datos, se han utilizado métodos
propios para hacer consultas como rawQuery().
Referencias:
★ James Revelo. (2015). Content Provider Personalizado, de Hermosa Programación
Sitio web: http://www.hermosaprogramacion.com/2015/06/tutorial-android-crear-un-
content-provider-personalizado/
★ Salvador Gómez Oliver. (2011). Content Providers en Android, de SGOLIVER.NET
Sitio web: http://www.sgoliver.net/blog/content-providers-en-android-i-construccion/
★ Salvador Gómez Oliver. (2011). Bases de Datos en Android, de SGOLIVER.NET
Sitio web: http://www.sgoliver.net/blog/bases-de-datos-en-android-i-primeros-pasos/
★ Navneet Goel. (2016). Google Maps Distance Calculator using Google Directions in
Google Maps Android API, de Andorid Tutorial Point Sitio web:
https://www.androidtutorialpoint.com/intermediate/google-maps-distance-calculator-
using-google-directions-google-maps-android-api/
★ Hiep Mai Thanh. (2016). Basic Google Maps API Android Tutorial + Google Maps
Directions API, de University of Science Sitio web:
https://www.youtube.com/watch?v=CCZPUeY94MU&t=158s
★ Paulo Felipe Prado Gärtner. (2016). Crear base de datos SQLite en Android con
Android Studio, de Anónimo Sitio web:
https://www.youtube.com/watch?v=yeQ1l7MVpGI&t=1793s
★ Grupo de Google. (2017). Guía del desarrollador, de Google Sitio web:
https://developers.google.com/maps/documentation/directions/intro#introduction
★ Grupo Android Developers. (2017). Primeros Pasos en Android, de Android
Developers Sitio web: https://developer.android.com/training/index.html
Enlaces adjuntos:
★ Enlace del código de la aplicación disponible en GitHub:
https://github.com/UcuencaProgramacionIII/TurismoSobreRuedasII
★ Enlace de la presentación subida al repositorio de SlideShare:
https://www.slideshare.net/BryanAguilarYaguana/turismo-sobre-ruedas-76295629
★ Enlace del video de demostración de la aplicación: https://youtu.be/1qip94vzL1I
Figuras
A continuación se presentarán, todas las imágenes del proceso realizado para la
creación de la aplicación TOW.
Turismo Sobre Ruedas (TOW)
Figura 1. Estructura de la aplicación TOW.
Figura 2. Capa de datos encargada del registro de vehículos.
Turismo Sobre Ruedas (TOW)
Figura 3. Registro de los datos en la tabla creada usando DB Brow ser for SQLite.
Figura 4. Clases necesarias para el ingreso y visualización de registros al sistema.
Figura 5. clase MainFragment Figura 6. clase DetalleFragment Figura 7. clase Insertar Fragment
Turismo Sobre Ruedas (TOW)
Figura 8. Activar servicios de Google Play Services en Android Studio.
Figura 9. Crear un proyecto en la consola de Google para desarrolladores.
Figura 10. Credenciales otorgadas por Google para solicitar el servicio w eb.
Turismo Sobre Ruedas (TOW)
Figura 11. Inserción de Google Maps en la aplicación TOW. Figura 12. Marcadores de ubicaciones <Imagen/Lugar>
Figura 13. Trazado de ruta (Optimizada).
Turismo Sobre Ruedas (TOW)
Figura 14. Capa lógica de negocios. Clases Implementadas.
Figura 15. Menú de navegación para escoger las diferentes rutasdisponibles.
Figura 16. Botón para solicitar una ruta a partir del número de personas que solicitan el servicio.
Turismo Sobre Ruedas (TOW)
Figura 17. Búsqueda de vehículos registrados. Figura 18. Resultado a la consulta en la base de datos,
Figura 19. Barra de notificación. Figura 20. Generando llamada telefónica.
Figura 21 capa de presentación de la aplicación.
Turismo Sobre Ruedas (TOW)
Figura 22. Inicio de la aplicación. Figura 23. Información de TOW Figura 24. Información de rutas.
Secciones de código
A continuación, se muestran las secciones de código, clases y elementos que se
implementaron al crear la aplicación TOW.
Sección de código 1. Implementación de la base de datos SQLite
Turismo Sobre Ruedas (TOW)
Sección de código 2. Declaración de los campos para la tabla de la base de datos.
Sección de código 3. Declaración de la clase UsuariosProvider que hereda de ContentProvider para el registro de información.
Turismo Sobre Ruedas (TOW)
Sección de código 4. Algoritmo de codificación para trazar las rutas.
Sección de código 5. Algoritmo de consulta en la base de datos.

Más contenido relacionado

Similar a Turismo sobreruedas (20)

Sotfware teoria general de siste mas
Sotfware teoria general de siste masSotfware teoria general de siste mas
Sotfware teoria general de siste mas
 
Tur cuenca
Tur cuencaTur cuenca
Tur cuenca
 
Desarrollo de una aplicación móvil basada en gráficos estadísticos paper
Desarrollo de una aplicación móvil basada en gráficos estadísticos   paperDesarrollo de una aplicación móvil basada en gráficos estadísticos   paper
Desarrollo de una aplicación móvil basada en gráficos estadísticos paper
 
Proyecto en Android Studio (MoviCuenca)
Proyecto en Android Studio (MoviCuenca)Proyecto en Android Studio (MoviCuenca)
Proyecto en Android Studio (MoviCuenca)
 
Las apps
Las appsLas apps
Las apps
 
Las apps
Las appsLas apps
Las apps
 
presentacion santiagoapie
presentacion santiagoapiepresentacion santiagoapie
presentacion santiagoapie
 
eGNUX #04
eGNUX #04eGNUX #04
eGNUX #04
 
Las apps
Las appsLas apps
Las apps
 
PROYECTO INTEGRADOR
PROYECTO  INTEGRADORPROYECTO  INTEGRADOR
PROYECTO INTEGRADOR
 
Gps
GpsGps
Gps
 
Gps
GpsGps
Gps
 
Plan taller android
Plan taller androidPlan taller android
Plan taller android
 
Silabo prog-movil-sis
Silabo prog-movil-sisSilabo prog-movil-sis
Silabo prog-movil-sis
 
Servicio web.lauraivettecolinvillarreal
Servicio web.lauraivettecolinvillarrealServicio web.lauraivettecolinvillarreal
Servicio web.lauraivettecolinvillarreal
 
Las apps
Las appsLas apps
Las apps
 
Android CityZen
Android CityZenAndroid CityZen
Android CityZen
 
Capitulo7
Capitulo7Capitulo7
Capitulo7
 
Making of geolocal
Making of geolocalMaking of geolocal
Making of geolocal
 
Presentación.pptx
Presentación.pptxPresentación.pptx
Presentación.pptx
 

Turismo sobreruedas

  • 1. Turismo Sobre Ruedas (TOW) Universidad de Cuenca Programación 3 G1 Proyecto Interciclo “Turismo Sobre Ruedas” Bryan Aguilar Resumen Con la presente aplicación, se pretende ofrecer un software que fomente el turismo en la ciudad de Cuenca, con esta aplicación se pretende brindar un servicio turístico en el que cualquier usuario pueda ser un “guía turístico” brindando servicios con su vehículo. Los principales objetivos han sido: establecer un motor de búsqueda y almacenamiento de información con el manejo de bases de datos SQLite, emplear APIs con código abierto como es el caso de Google Maps y Google Directions API entre otras. Lograr una aplicación intuitiva y amigable con el usuario de modo que esta resulte de interés y no monótona. Todo el proceso realizado se ha complementado con imágenes y secciones del código para una mejor comprensión de todo lo que se ha llevado a cabo en el presente trabajo, estos recursos se los puede encontrar en las secciones de “Figuras” y “Secciones de código” respectivamente. Se han utilizado diversos materiales y métodos que han sido esenciales en el proceso, estos materiales se describen con mayor detalle en la sección de “Materiales y Métodos”. Palabras Clave ★ TOW: abreviatura del nombre de la aplicación (Tourism On Wheel) que en castellano significa Turismo Sobre Ruedas. ★ Layout: contiene ficheros de definición XML de las diferentes pantallas de la interfaz gráfica. ★ Uri: identificador de recursos uniforme, cadena de caracteres que identifica recursos de una manera única. Similar a una dirección web de un navegador. ★ Polilínea: serie de segmentos conectados que forman un único objeto para su creación se requiere de la clase google.maps.Polyline. Introducción El proyecto a desarrollarse está centrado en la temática del “Turismo y transporte público en la ciudad de Cuenca”. Se pretende generar una aplicación que permite al usuario realizar el alquiler de un vehículo con fines turísticos u ofrecer servicios a usuarios, poniendo a disposición datos del conductor y del vehículo con el objetivo de ser “un guía turístico” para quien lo solicite. Todo esto con el fin de brindar al usuario un recorrido por distintas rutas turísticas predeterminadas, con el fin de
  • 2. Turismo Sobre Ruedas (TOW) mostrar los atractivos turísticos más significativos en la ciudad, donde encontramos una gran cantidad de edificaciones de estilo colonial y republicano, zona arqueológica, barrios artesanales y varios sitios de importancia paisajística y cultural.TOW, tiene como objetivos: ★ Poseer la capacidad de registrar datos de vehículos y sus respectivos propietarios. Mismos que brindarán un servicio de “guía turístico” a los usuarios que los soliciten. ★ Visualizar rutas turísticas en toda la ciudad de Cuenca, mostrando los atractivos turísticos más relevantes; las rutas deben comprender: santuarios religiosos, museos de la ciudad, monumentos, parques de la ciudad y una ruta turística completa. ★ Solicitar un servicio de “guía turístico” a partir de cuantas personas vayan a requerir el servicio. Es decir a partir de la capacidad del vehículo se realizará una consulta de los vehículos registrados y se mostrarán la lista de los vehículos y datos de cada uno. ★ Brindar la posibilidad de ponerse en contacto con el propietario de un vehículo registrado vía telefónica. ★ Ser una aplicación intuitiva e interactiva, con una interfaz de fácil manejo y comprensión. Capaz de poder ser usada por cualquier tipo de público. Se aplicarán conocimientos de la programación orientada a objetos y programación imperativa, empleando los principios y definiciones básicas de estos paradigma de programación. Para lograr los objetivos planteados por parte del desarrollador. Materiales y Métodos ★ Android Studio: entorno de desarrollo utilizado para crear la aplicación android y generar la apk para comprobar su correcto funcionamiento. ★ Dispositivo Android (SmartPhone o Tablet): dispositivo utilizado para ejecutar la aplicación, verificar todos los cambios y realizar modificaciones. ★ Google Drive: servicio de alojamiento de archivos, utilizado para la creación del presente informe. ★ Google Directions API: La google directions API es un servicio que calcula indicaciones entre ubicaciones. Buscar indicaciones para diferentes medios de transporte, incluidos el transporte público o particular y el desplazamiento a pie o en bicicleta. ★ DB Browser for SQLite: herramienta de código abierto y de alta calidad para crear, diseñar y editar archivos de bases de datos compatibles con SQLite.Es para usuarios y desarrolladores que desean crear bases de datos, buscar y editar datos. Utiliza una interfaz similar a la hoja de cálculo y no necesita aprender comandos SQL complicados. ★ Console Google Developers: permite crear, implementar y escalar aplicaciones, sitios web y servicios de la misma infraestructura de google.
  • 3. Turismo Sobre Ruedas (TOW) ★ Google Play Services: es un conjunto de librerías de google que brindan a los desarrolladores las funcionalidades de aplicaciones de Google como: Gmail, Analytics, Google Fit, Google Maps, etc. ★ Github: repositorio utilizado para las descargas de códigos y proyectos de guía para el desarrollo. ★ YouTube: plataforma de recolección de información y tutoriales de interes. Para el desarrollo. ★ Launcher icon generator: herramienta utilizada para la creación del ícono de la aplicación. Descripción de la aplicación TOW. Esta aplicación permite a los usuarios realizar solicitudes de vehículos mediante una aplicación móvil, especificando el número de personas que van a utilizar el servicio, la aplicación les ofrecerá los distintos tipos de vehículos disponibles junto con sus datos correspondientes tanto al vehículo como a su propietario. Es un proceso fácil, seguro y efectivo para dar a conocer a la ciudadanía local y demás, los diferentes y principales atractivos turísticos que posee la ciudad de Cuenca con la ayuda de rutas turísticas predefinidas, las mismas que se encuentran clasificadas por ruta de Santuarios de la ciudad, Ruta de Museos más importantes, Ruta por los parques de la ciudad, Algunos monumentos y lugares importantes y una Ruta turística completa por los principales puntos de turismo. Se considera que el proyecto presentado fomentará el turismo en la ciudad, ya que posiblemente muchas de las personas que habitan, o no, en la localidad, desconocen lugares que representan historia y cultura, por lo que esta aplicación resultará útil a la hora de hacer turismo y recorrer la ciudad. 1. Estructura de la aplicación: Para la creación de la aplicación TOW, se ha hecho uso del entorno de desarrollo Android Studio para el desarrollo de aplicaciones móviles. Se ha creado un proyecto llamado <TurismoSobreRuedas>, con paquete principal para las clases java denominado <turismosobreruedas.universidadcuenca.com.turismosobreruedas>, la aplicación está programada para que sea compatible con la versión de Android 5.1 Lollipop (API 22). Como se puede observar en la (Figura 1), la aplicación TOW está constituida por el módulo app y el módulo Gradle Scripts. El módulo app contendrá todo el software de la aplicación TOW. A su vez está compuesto de la carpeta java que contiene todo el código fuente de la aplicación, clases auxiliares, etc. La carpeta res que contiene los ficheros de recursos necesarios para el proyecto: imágenes, layouts, menú (que contiene la definición XML de los menús de la aplicación), mipmap (contiene los íconos de lanzamiento de la aplicación para las distintas densidades de pantalla existentes), values (cadenas de texto: strings.xml, colores: colors.xml, tamaños: dimens.xml). Y finalmente la
  • 4. Turismo Sobre Ruedas (TOW) carpeta manifest que contiene la definición XML de muchos de los aspectos principales de TOW, identificación, componentes (pantallas, o servicios...) y permisos necesarios para la ejecución. El módulo Gradle Scripts contiene la información necesaria para la compilación del proyecto como la versión de Android soportada, referencias a librerías externas, etc. En su interior contiene al elemento build.gradle donde se encuentran las librerías internas y externas utilizadas y una serie de elementos generados automáticamente al compilar el proyecto. Ya que son generados automáticamente es importante que no se modifique manualmente. 2. Registro de usuarios (Capa de Datos): Uno de los objetivos de la aplicación es realizar un registro de usuarios junto con las características de su vehículo. La plataforma Android proporciona dos herramientas principales para el almacenamiento y consulta de datos estructurados: ★ Bases de Datos SQLite. ★ Content Providers. Todas estas operaciones se encuentran estructuradas en clases en la capa de datos como se muestra en la (Figura 2). Bases de datos SQLite es un motor de bases de datos popular en la actualidad por ofrecer características interesantes como su pequeño tamaño, no necesitar servidor, precisar poca configuración y por supuesto ser de código libre. Android incorpora de serie todas las herramientas necesarias para la creación y gestión de bases de datos SQLite, y entre ellas una completa API para llevar a cabo de manera sencilla todas las tareas necesarias. En Android, la forma típica para crear, actualizar, y conectar con una base de datos SQLite será a través de una clase auxiliar llamada SQLiteOpenHelper, para ello se ha creado una clase que llamaremos UsuariosDataBaseHelper.o para ser más exactos, de una clase propia que derive de ella y que debemos personalizar para adaptarse a las necesidades concretas de nuestra aplicación (Ver Sección_Código 1). La clase SQLiteOpenHelper tiene tan sólo un constructor, que normalmente no necesitaremos sobrescribir, y dos métodos abstractos, onCreate() y onUpgrade(), que deberemos personalizar con el código necesario para crear nuestra base de datos y para actualizar su estructura respectivamente. Para la aplicación TOW, ha creado una base de datos llamada usuarioTOW.database, con una sola tabla llamada actividad que contendrá los campos: NOMBRE (Nombre del usuario a registrar), PLACA(Placa del vehículo a registrar), TIPO(Tipo del vehículo a registrar. I.e. camioneta,automóvil,etc), CAPACIDAD(El número de plazas del vehículo ‘¿Cuántas personas?’), TELÉFONO(Número de
  • 5. Turismo Sobre Ruedas (TOW) teléfono del usuario). (Ver Sección_Código 2). El procedimiento onCreate() es el encargado de crear nuestra base de datos a partir de la sentencia execSQL(). La base de datos creada se almacenan en la memoria del teléfono en un fichero con el mismo nombre de la base de datos. Para TOW está almacenada en la ruta siguiente: /data/data/turismosobreruedas.universidadcuenca.com.turismo sobreruedas/databases/usuarioTOW.database Con esto, la base de datos para la aplicación TOW está creada y lista para guardar y recuperar datos. Ya solo nos queda comprobar que la base de datos creada funciona correctamente. Para ello hemos utilizado un administrador de bases de datos. DB Browser for SQLite y se han insertado registros directamente en el código, con lo que las tablas de nuestra base de datos (vea Figura 3). Content Provider es un mecanismo proporcionado por la plataforma Android para compartir información entre aplicaciones. Una aplicación que desee que todo o parte de la información que almacena esté disponible de una forma controlada para el resto de aplicaciones del sistema deberá proporcionar un content provider a través del cual se pueda realizar el acceso a dicha información. Este mecanismo es utilizado por aplicaciones estándar como por ejemplo la lista de contactos, la aplicación de SMS, o el calendario/agenda. Para la aplicación TOW, se implementará un content Provider personalizado para el registro de los datos en la Base de Datos SQLite, cabe mencionar que el Content Provider funciona solo con algún método de almacenamiento interno para la información. La manera de trabajar con este tipo de mecanismos y manejar es a través de una URI, que no es más que una cadena de texto similar a cualquiera de las direcciones web que utilizamos en nuestro navegador. Por ejemplo “content://net.google.android.contentproviders/clientes“. Esto es importante ya que será el Content Provider el encargado de interpretar/parsear la URI completa para determinar los datos que se enten solicitando. Al sobreescribir los métodos necesarios en nuestra clase UsuariosProvider se ha completado la construcción de este mecanismo que proporciona modalidades necesarias para consultar, insertar, eliminar y actualizar datos de la aplicación TOW. (Ver Sección_Código 3). Ingreso y visualización de registros. Para el ingreso de los datos, todas las clases necesarias para este proceso se encuentran en la ruta (ver figura 4): app/java/turismosobreruedas.universidadcuenca.com.turismosobre ruedas/registro
  • 6. Turismo Sobre Ruedas (TOW) - La clase DetalleActivity en conjunto con la clase DetalleFragment es la encargada de que cuando se presione un usuario registrado, se muestre la información detallada de cada uno; esto es: imágen de su vehículo, nombre del contacto registrado, su teléfono, la capacidad con la que registró su vehículo así como la placa y el tipo. - La clase InsertarActivity en conjunto con la clase InsertarFragment, son las encargadas de registrar los datos del usuario en la base de datos SQLite, y de validar que todos los campos contengan información antes de agregarlos. - La clase MainActivity en conjunto con la clase MainFragment cumplen con las funciones de actualizar la lista de contactos después de el ingreso de un registro, mostrando los nuevos registros al final de la lista. Todas estas acciones se las puede apreciar en el funcionamiento de la aplicación como se muestra en las Figuras 5,6 y 7. 3. Visualización de rutas turísticas (Capa lógica de negocios): Lo primero a realizar en este punto es introducir un mapa en la aplicación TOW, ya que usar este recurso en aplicaciones Android permitirá aumentar la calidad del servicio y ayudará al usuario asociar ubicaciones a sus necesidades de manera intuitiva. Para lo cual serán requeridos los servicios de Google Play Service, en particular el servicio de Google Maps. Para ello debemos tener activos estos servicios en nuestro entorno de desarrollo y los activamos como se muestra en la (Figura 8). Las dependencias de nuestro entorno se actualizarán y la aplicación TOW queda sincronizada para agregar el mapa mundial de Google Maps. Pero antes tenemos que crear un proyecto en la Consola de Google para Desarrolladores (ver Figura 9), la misma que permitirá habilitar el servicio web con y proveer los datos desde la API de Google Maps así como las credenciales para la aplicación. Este tipo de credenciales se conocen como (huella dactilar “digital”) SHA-1. (ver Figura 10). Con todo esto realizado la aplicación de TOW ahora contiene un mapa de Google Maps. (ver Figura 11). Una vez que contamos con el mapa el objetivo será trazar rutas por diferentes puntos del mapa, mismos que han sido seleccionados por el desarrollador. Los puntos han sido colocados en el mapa con marcadores que identifican la categoría y el lugar como se muestra en (ver Figura 12). <Imagen/Nombre>. Para trazar las rutas por los puntos antes descritos se hace uso de los servicios web de Google Directions API que calcula indicaciones entre ubicaciones a partir de solicitudes construidas como un string de URL usando coordenadas de latitud y longitud para identificar ubicaciones junto con la clave de API obtenida en (ver Figura 10). Para implementar las rutas en el mapa se usará la herramienta de WayPoints propia de la API de Google Directions. Esta herramienta nos ayudará a mostrar indicaciones
  • 7. Turismo Sobre Ruedas (TOW) entre diversos puntos de ubicación en el mapa que se conocen como <Paradas> entre dos puntos determinados. La ruta entre dichas <Paradas>, se traza mediante un Algoritmo de Polilíneas Codificadas. (ver Sección_Código 4) La aplicación TOW calcula la ruta a través de los waypoints optimizando la ruta proporcionada de manera más eficaz. “Esta optimización es una aplicación del problema del viajante“. (ver Figura 13). Todas las clases y métodos implementados en esta sección están presentes en la capa lógica de negocios como se muestra en la (Figura 14). Las opciones para escoger entre las diferentes rutas se encuentran en el menú de navegación que se encuentra en la parte inferior del mapa, en el cual el usuario podrá escoger entre cinco diferentes rutas que son: Ruta Iglesias de Cuenca, Ruta de Museos en la Ciudad, Ruta de monumentos y sitios de importancia, Ruta de Parques más importantes y una Ruta completa por los puntos más relevantes de la ciudad. (ver Figura 15). 4. Solicitar una ruta/servicio turístico: La aplicación TOW, tiene como objetivo brindar al usuario la posibilidad de hacer una consulta en la base de datos SQLite de los registros almacenados, a partir del campo de búsqueda CAPACIDAD (que representa el número de personas que caben en un vehículo registrado), esto dependiendo del número de personas que solicitan el vehículo. El botón se denomina <Solicitar Ruta> (ver Figura 16). Este nos redirecciona a una actividad que nos permite ingresar cuantas personas van a solicitar el servicio (Ver figura 17). La clase que realiza este proceso es la clase buscarActivity a partir de una instancia de nuestra clase UsuariosDataBaseHelper y mediante el método rawQuery() que tiene como parámetro el argumento de la consulta a realizar en la base de datos. Con esto en mente se realiza una recuperación de los registros mediante una estructura do{...}while() misma que obtendrá la información de los campos pertenecientes a los registros consultados (ver Sección_Código 5). La información recuperada, resultado de la consulta en la base de datos será almacenada en un contenedor listView personalizado y posteriormente se mostrará al usuario como se puede ver en (Figura 18). Se muestran todos los vehículos registrados con la CAPACIDAD que fue consultada por el usuario. 5. Ponerse en contacto con el propietario del vehículo: A partir de la lista de vehículos consultado como se mostró en la (Figura 18), el usuario de TOW tendrá la facilidad de ponerse en contacto con el propietario del vehículo de su preferencia por medio de una llamada telefónica. Para ello basta con que el usuario presione sobre un vehículo y tras hacerlo aparecerá una barra de notificación en la parte inferior de la pantalla como se muestra en la (Figura 19). En
  • 8. Turismo Sobre Ruedas (TOW) donde aparecerá el nombre de del propietario de dicho vehículo y su número telefónico registrado. Se puede presionar el número telefónico y enseguida se redireccionará al teclado telefónico del dispositivo y el número del propietario colocado de tal manera que el usuario solo realice una llamada normal para ponerse en contacto. (ver Figura 20). 6. Capa de presentación: En esta sección daremos a conocer las clases que conforman la capa de presentación; esta capa hace referencia a la interfaz gráfica de usuario, las clases implementadas se pueden ver en la (Figura 21). El paquete detalle listview contiene las clases necesarias para mostrar la información en un listview personalizado después de realizar la consulta en la base de datos. La clase primera contiene las acciones de los botones de inicio de la aplicación (ver Figura 22). Las clases informaciónapp y inforutasActivity son actividades que solo muestran información sobre la aplicación (una visión general) e información de las rutas disponibles respectivamente. (ver Figuras 23, 24). Mientras que la clase ActivityAdapter,sirve para mostrar el detalle de cada usuario registrado (ver Figura 5). cabe recalcar que toda la parte gráfica se encuentra en app/res/layout que contiene archivos XML que delimitan la interfaz gráfica de usuario de la aplicación TOW. Conclusiones: ★ Los Content Provider son elementos que permiten compartir datos de la aplicación TOW con otras aplicaciones de forma segura, como se pudo observar en el literal 5. (Conectar la aplicación con un servicio de llamada telefónica). ★ Un content provider puede interpretarse desde un enfoque de diseño como un patrón de la arquitectura MVC (Modelo - Vista - Controlador), debido a la virtualización de datos con URis para el registro de información y que actualice la interfaz ante el usuario. Y separa las capas lógica de negocios y la de datos. ★ Para la creación de la base de datos SQLite se ha implementado una clase tipo contrato para estandarizar la estructura de la tablas y las columnas o campos de información. ★ Existen herramientas como SQLite Browser para visualizar el modelo de datos y tablas. ★ Millones de sitios web y apps usan Google Maps API para potenciar las experiencias de sus usuarios relacionadas con la ubicación. ★ Google Maps API junto con Google Directions API para android están disponibles a través de los servicios de Google Play para que la aplicación pueda conocer la ubicación, incluir mapas, datos, y mucho más.
  • 9. Turismo Sobre Ruedas (TOW) ★ Para realizar una consulta en la base de datos, se han utilizado métodos propios para hacer consultas como rawQuery(). Referencias: ★ James Revelo. (2015). Content Provider Personalizado, de Hermosa Programación Sitio web: http://www.hermosaprogramacion.com/2015/06/tutorial-android-crear-un- content-provider-personalizado/ ★ Salvador Gómez Oliver. (2011). Content Providers en Android, de SGOLIVER.NET Sitio web: http://www.sgoliver.net/blog/content-providers-en-android-i-construccion/ ★ Salvador Gómez Oliver. (2011). Bases de Datos en Android, de SGOLIVER.NET Sitio web: http://www.sgoliver.net/blog/bases-de-datos-en-android-i-primeros-pasos/ ★ Navneet Goel. (2016). Google Maps Distance Calculator using Google Directions in Google Maps Android API, de Andorid Tutorial Point Sitio web: https://www.androidtutorialpoint.com/intermediate/google-maps-distance-calculator- using-google-directions-google-maps-android-api/ ★ Hiep Mai Thanh. (2016). Basic Google Maps API Android Tutorial + Google Maps Directions API, de University of Science Sitio web: https://www.youtube.com/watch?v=CCZPUeY94MU&t=158s ★ Paulo Felipe Prado Gärtner. (2016). Crear base de datos SQLite en Android con Android Studio, de Anónimo Sitio web: https://www.youtube.com/watch?v=yeQ1l7MVpGI&t=1793s ★ Grupo de Google. (2017). Guía del desarrollador, de Google Sitio web: https://developers.google.com/maps/documentation/directions/intro#introduction ★ Grupo Android Developers. (2017). Primeros Pasos en Android, de Android Developers Sitio web: https://developer.android.com/training/index.html Enlaces adjuntos: ★ Enlace del código de la aplicación disponible en GitHub: https://github.com/UcuencaProgramacionIII/TurismoSobreRuedasII ★ Enlace de la presentación subida al repositorio de SlideShare: https://www.slideshare.net/BryanAguilarYaguana/turismo-sobre-ruedas-76295629 ★ Enlace del video de demostración de la aplicación: https://youtu.be/1qip94vzL1I Figuras A continuación se presentarán, todas las imágenes del proceso realizado para la creación de la aplicación TOW.
  • 10. Turismo Sobre Ruedas (TOW) Figura 1. Estructura de la aplicación TOW. Figura 2. Capa de datos encargada del registro de vehículos.
  • 11. Turismo Sobre Ruedas (TOW) Figura 3. Registro de los datos en la tabla creada usando DB Brow ser for SQLite. Figura 4. Clases necesarias para el ingreso y visualización de registros al sistema. Figura 5. clase MainFragment Figura 6. clase DetalleFragment Figura 7. clase Insertar Fragment
  • 12. Turismo Sobre Ruedas (TOW) Figura 8. Activar servicios de Google Play Services en Android Studio. Figura 9. Crear un proyecto en la consola de Google para desarrolladores. Figura 10. Credenciales otorgadas por Google para solicitar el servicio w eb.
  • 13. Turismo Sobre Ruedas (TOW) Figura 11. Inserción de Google Maps en la aplicación TOW. Figura 12. Marcadores de ubicaciones <Imagen/Lugar> Figura 13. Trazado de ruta (Optimizada).
  • 14. Turismo Sobre Ruedas (TOW) Figura 14. Capa lógica de negocios. Clases Implementadas. Figura 15. Menú de navegación para escoger las diferentes rutasdisponibles. Figura 16. Botón para solicitar una ruta a partir del número de personas que solicitan el servicio.
  • 15. Turismo Sobre Ruedas (TOW) Figura 17. Búsqueda de vehículos registrados. Figura 18. Resultado a la consulta en la base de datos, Figura 19. Barra de notificación. Figura 20. Generando llamada telefónica. Figura 21 capa de presentación de la aplicación.
  • 16. Turismo Sobre Ruedas (TOW) Figura 22. Inicio de la aplicación. Figura 23. Información de TOW Figura 24. Información de rutas. Secciones de código A continuación, se muestran las secciones de código, clases y elementos que se implementaron al crear la aplicación TOW. Sección de código 1. Implementación de la base de datos SQLite
  • 17. Turismo Sobre Ruedas (TOW) Sección de código 2. Declaración de los campos para la tabla de la base de datos. Sección de código 3. Declaración de la clase UsuariosProvider que hereda de ContentProvider para el registro de información.
  • 18. Turismo Sobre Ruedas (TOW) Sección de código 4. Algoritmo de codificación para trazar las rutas. Sección de código 5. Algoritmo de consulta en la base de datos.