El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
CTParking documentacion aplicacion
1. App “CTParking”
Ingeniería en Sistemas
Universidad de Cuenca
Mayo de 2017
Christian Torres
marcelo.torres@ucuenca.edu
Temario:
1. Introducción
2. Descripción de la app
3. Objetivos
3.1. Objetivos del proyecto
3.2. Objetivos académicos
4. Programación
4.1. Capa de datos
4.2. Lógica de negocios
4.3. Capa de presentación
5. API(Interfaz de Programación de Aplicaciones) usadas
6. Códigos a resaltar
7. Comentarios y conclusiones
8. Diagrama de clases
9. Referencias
10. Anexos
10.1 Imágenes CTParking
1) Introducción
Un estacionamiento tarifado busca ofrecer al usuario un espacio físico donde
podrá dejar su automotor por un determinado periodo de tiempo, la
problemática la que se enfrentan los usuarios constantemente es cuando desean
parquear su automotor y no se encuentra el lugar adecuado, para poder hacer
frente a este inconveniente se ofrece el servicio de “CTParking”. El cual se trata
de una aplicación móvil que permite ubicar un parqueadero tarifado o de carga
y descarga de una manera fácil y rápida dentro de la Ciudad de Cuenca. La idea
surgió como una propuesta a la mejora de la movilidad dentro de la Ciudad y
como proyecto dentro de la asignatura de Programación 3.
2) Descripción de la app
“CTParking” es una aplicación móvil que permite al usuario la visualización de
las áreas de estacionamiento tarifado y el estacionamiento momentáneo (Carga
y descarga) dentro de la Ciudad de Cuenca, esta aplicación fue desarrollada en el
entorno de desarrollo integrado (IDE) de Android Studio por lo tanto está
diseñada solo para funcionar en la plataforma de Android. Para el uso de la app
no se necesita iniciar sesión, la app hará uso de la ubicación del usuario mediante
2. el uso de GPS (geolocalización). Además gracias a las aplicación de “Google
Maps” ,la app de “CTParking” al indicar el parqueadero tarifado y seleccionar uno
de ellos nos da las opciones de direcciones lo que nos redirige a la app de “Google
Maps” y de forma directa que nos permite indicar el camino más corto desde
nuestra ubicación por GPS hasta el lugar seleccionado.
3) Objetivos
3.1) Objetivos del Proyecto:
Diseñar una aplicación móvil que ayude a la problemática de movilidad
en la Ciudad de Cuenca.
Permitir al usuario visualizar los parqueaderos tarifados.
Dar a conocer al usuario su posición actual mediante la geolocalización.
Implementación y manejo de una base de datos local SQLite.
3.2) Objetivos Académicos:
Conocer sobre la programación y el uso del IDE Android Studio.
Analizar y estudiar los usos de las API (Interfaz de Programación de
Aplicaciones) dentro de la plataforma de Android Studio.
Aprender sobre el uso de la programación por capas para la construcción
de la aplicación móvil.
Uso del programa “DB Browser for SQLite” para la creación, visualización
y diseño de archivos compatibles con SQLite para editar la base de datos.
4) Programación
“CTParking” fue programado bajo un paradigma orientado a objetos y con el
estilo de la programación por capas, estas capas son:
4.1) Capa de datos:
Esta capa es la encargada de cargar, almacenar y actualizar las
direcciones donde se encuentran los diferentes parqueaderos dentro de
la ciudad. Con el uso de “DB Browser for SQLite” para la base de datos
con SQLite.
La Base de datos nos permite a la aplicación llevar un listado de las
direcciones, donde se encuentran los parqueaderos tarifados, registradas
para poder ser utilizadas durante la ejecución de la aplicación. Para este
propósito se hizo uso de una base de datos “SQLite”. Cabe indicar que se
logró conocer las direcciones de los parqueaderos tarifados gracias a un
documento de libre acceso de la Ilustre Municipalidad de Cuenca (Ver en
referencias). Una vez conocida sus localizaciones se procedió a
implementarlas en la base de datos SQLite para después ser usadas
dentro de la aplicación, además se hizo uso del programa “DB Browser
for SQLite” para la manipulación de los datos dentro de la aplicación.
3. 4.2) Lógica de negocios:
Es la capa encargada de indicar la ubicación de los parqueaderos
tarifados, además de comunicar la capa de datos con la capa de
presentación. Esta capa lógica tiene las funciones de llamar a la API de
Google Maps para indicar el mapa, las funciones de zoom al mapa, la
opción de la geolocalización, la implementación de la base de datos.
4.3) Capa de presentación:
Como su propio nombre lo indica en esta capa se encarga de interactuar
con el usuario, es decir presentar sus opciones al usuario, indica al usuario
la plataforma de la aplicación.
5) API (Interfaz de Programación de Aplicaciones) usadas:
Para poder hacer uso de las API de Google se hizo uso de una clave API, dicha
clave nos permite identificar los proyectos para comprobar las cuotas y el acceso.
Las API implementadas en la construcción de la aplicación son:
Google Maps Directions API:
Acceda a la ruta de conducción, ciclismo, andando y transporte público
con la API de direcciones de Google Maps utilizando una solicitud HTTP.
Los waypoints ofrecen la posibilidad de alterar una ruta a través de una
ubicación específica.
Google Maps Android API:
Gestiona automáticamente el acceso a los servidores de Google Maps,
la visualización del mapa y la respuesta a los gestos del usuario, como
los clics y los arrastres.
Google Maps Geocoding API:
Convierta direcciones en coordenadas geográficas (geocodificación),
que puede utilizar para colocar marcadores o posicionar el mapa.
Google Maps Geolocation API:
Encuentre un radio de ubicación y precisión basado en información de
elementos como torres de celulares y puntos de acceso WiFi que un
cliente móvil puede detectar con la API de Geolocalización de Google
Maps. Esto se usa principalmente cuando el GPS no es posible o
apropiado.
4. 6) Códigos a resaltar:
Dentro de la aplicación se encuentra bloques de códigos más relevantes que
otros, estos se detallan a continuación:
Método ubicado en la clase “Parqueaderos”, este método se ejecuta en el
momento en que se llama a la construcción de la base de datos por primera
vez o la base de datos está vacía:
Método ubicado en la clase “BDParqueaderos”, este método hace posible la
actualización de la Base de datos.
Bloque de código que crea y almacena las direcciones dentro de la Base de
Datos
5. Actualiza la ubicación del usuario:
Agrega un marcador según la ubicación del usuario, también es llamada cuando
se desea poner un marcador personal:
7) Comentarios, conclusiones:
Comentarios:
Uno de los principales desventajas para el desarrollo del proyecto fue el uso de
la plataforma de Android Studio, ya que mi persona no tenía conocimiento de
programación dentro del mismo, este inconveniente fue superado gracias a que
en la web existen varios video tutoriales relacionados con el manejo de dicha
plataforma.
Con respecto al uso de las ubicaciones de los parqueaderos tarifados dentro de
la aplicación, en principio se pensaba en escribir dentro del código las
ubicaciones de estos, pero se encontró un problema al momento de actualizar
alguna de las direcciones ya que se debía modificar el código fuente, para este
problemática se logró dar solución con el uso de la base de datos SQLite y al
programa “SQLite Browser”.
Conclusiones:
La construcción de “CTParking”, permitió académicamente establecer las
ventajas y desventajas de la programación por capas, donde se implementaron
tres capas en todo el proyecto estas son: la capa lógica, de presentación y la capa
de datos. Esta técnica de programación nos ayudó a un desarrollo ordenado, nos
aseguró un avance continuo del proyecto y al fácil mantenimiento sobre todo en
la Base de Datos. Esta aplicación está dirigida a todos aquellos usuarios que
posean un automotor y recorran continuamente el centro de la Ciudad de
Cuenca, pero sobre todo a ciudadanos que son nuevos dentro de la ciudad y no
tengan conocimientos de las ubicaciones de los parqueaderos, la funcionalidad
de esta app no es el de indicar si se encuentra o no disponible un lugar de parque
6. tarifado si no de indicar donde se encuentran dichos parqueaderos tarifados y la
ubicación actual del usuario.
8) Diagrama de clases:
9) Referencias (URLS de programas usados):
1) Navegador DB para SQLite:
https://sourceforge.net/projects/sqlitebrowser/
2) Ubicación de APIs a usar: https://developers.google.com/apis-
explorer/#p/
3) Documentación sobre movilidad en Cuenca:
http://www.cuenca.gob.ec/?q=system/files/PMEP_CUENCA_2015_tomo_
I.pdf
4) IDE Android Studio:
https://developer.android.com/studio/intro/index.html?hl=es-419
5) Videos (Video Tutoriales para la programación en Android Studio):
a. “SQLite en Android 2- Como crear la tabla e insertar datos”:
https://www.youtube.com/watch?v=QsXhtJQtFfE
b. “Creando Base de Datos SQLite en Android”:
https://www.youtube.com/watch?v=jkMcMdcrkB8
c. “Geolocalización En Android Studio” :
https://www.youtube.com/watch?v=Uo2atDShFB0&index=68&list
=WL
d. “Google Maps En Android Studio”:
https://www.youtube.com/watch?v=mdCRxEn540U
7. 10) Anexos:
Enlaces de proyecto:
URL código fuente del proyecto:
MEGA:
https://mega.nz/#!ul4kha5A!GjyFUGU-tG9wSsWqbVevTyhKZK2GJEoR1DeNZDerFRo
10.1 Imágenes de “CTParking”
Fig 1 App dentro de Aplicaciones
Android
Fig 2 App Información Fig 3 App Información
Fig 4 M.HIBRIDO Ejecución Fig 5 Uso de Google Maps Fig 6 Inicio en Google Maps
(Primera vez uso de
CTParking)
8. Fig 7 Vista de CTParking Inicio Fig 8 Uso de opción Calles Fig 9 Uso App
Fig 10 Uso app