UNIVERSIDAD DE GUAYAQUIL FACULTAD DE...

171
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL. MANUAL DE USUARIO AUTORES: LOOR VILLAMAR ANDRÉS DAVID MOROCHO RAMOS MIGUEL ANGEL TUTORA: ING. VERÓNICA MENDOZA MORÁN. M.SC. GUAYAQUIL – ECUADO 2016

Transcript of UNIVERSIDAD DE GUAYAQUIL FACULTAD DE...

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA

DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO

ANDROID Y GEOLOCALIZACIÓN QUE PERMITA

OFRECER Y SOLICITAR SERVICIOS DE

ALQUILER DE CASAS CON UBICACIÓN

EXACTA Y A LA VEZ SUGIERA

LAS MÁS CERCANAS A LA

UBICACIÓN ACTUAL EN

CUALQUIER PARTE

DE GUAYAQUIL.

MANUAL DE USUARIO

AUTORES:

LOOR VILLAMAR ANDRÉS DAVID

MOROCHO RAMOS MIGUEL ANGEL

TUTORA:

ING. VERÓNICA MENDOZA MORÁN. M.SC.

GUAYAQUIL – ECUADO

2016

Ingresamos a la Aplicación “Kleta App”

Google Sign-In QuickStart

Se presenta la pantalla de inicio de sesión

Pantalla - Inicio de sesión

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Si el dispositivo móvil no tiene habilitado el GPS, se muestra un mensaje

indicando "Habilite el GPS"

Pantalla - Habilitar GPS

Pantalla para seleccionar de una lista la cuenta con la que accederá a la

aplicación.

Pantalla - Selección de cuenta para registro

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Cuando el inicio de sesión sea exitoso, se presenta un botón para "Continuar" en

el sistema y un botón para cerrar la sesión "SING OUT".

Pantalla - Sesión

Pantalla para realizar una vista ampliada para mostrar las viviendas disponibles

en el mapa.

Pantalla principal - Búsqueda

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Se presenta automáticamente la posición actual con un punto color azul.

Pantalla - Posición actual

Cuando se navega en el mapa y pierde la visión de la ubicación actual, se

muestra una opción que lo vuelve a ubicar en la ubicación actual según el GPS.

Pantalla - Ubicación GPS

Se presenta un dialogo indicando la cantidad de registros que se descargaron.

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Pantalla - Consulta Vivienda

Pantalla para realizar consultas por Filtros.

Pantalla - Consulta de viviendas

Se despliega una lista con todas las viviendas en alquiler que cumplan con el

criterio especificado.

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Pantalla - Resultado de búsqueda

Pantalla que despliega toda la información de la vivienda en alquiler que se haya

seleccionado en el mapa.

Pantalla - Vivienda publicada

Se habilita una opción para crear la ruta hasta la localización de la vivienda

seleccionada.

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Pantalla - Localización de Vivienda

Se abre la aplicación original de mapas de Google, para mostrar las rutas hasta

la localización de la vivienda requerida.

Pantalla - Ruta más corta hacia la vivienda seleccionada

Se muestra la aplicación de llamadas telefónicas del dispositivo móvil para poder

comunicarse con el oferente de la vivienda en alquiler.

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Pantalla - Llamada telefónica

Se presenta la aplicación de mensajes de texto SMS del dispositivo móvil.

Pantalla - Notificación SMS

Se muestra la aplicación para enviar un mensaje por correo electrónico.

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Pantalla - Notificación Correo Electrónico

Cuando se marque una ubicación en el mapa, se crea un punto (marca) visible

sobre el mismo al momento de querer publicar alquiler.

Pantalla - Ubicación de mapa

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Al seleccionar el botón de publicar alquiler y no ha creado un punto en el mapa,

se despliega un mensaje indicando que "No podrá publicar hasta que cree un

punto en el mapa”.

Pantalla - Publicación de vivienda

Cuando se selecciona el botón de publicar alquiler y ya ha creado un punto en el

mapa, se presenta una pantalla para definir los detalles de la publicación.

Pantalla - Ingreso de información publicación

Se despliega un diálogo indicando que los datos se han subido exitosamente.

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

Pantalla - Subida de publicación

Elaborado: Andrés Loor – Miguel Morocho

Fuente: Datos del proyecto

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA

DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO

ANDROID Y GEOLOCALIZACIÓN QUE PERMITA

OFRECER Y SOLICITAR SERVICIOS DE

ALQUILER DE CASAS CON UBICACIÓN

EXACTA Y A LA VEZ SUGIERA

LAS MÁS CERCANAS A LA

UBICACIÓN ACTUAL EN

CUALQUIER PARTE

DE GUAYAQUIL.

MANUAL TÉCNICO

AUTORES:

LOOR VILLAMAR ANDRÉS DAVID

MOROCHO RAMOS MIGUEL ANGEL

TUTORA:

ING. VERÓNICA MENDOZA MORÁN. M.SC.

GUAYAQUIL – ECUADO

2016

Instalación de la plataforma de desarrollo

Para la creación del aplicativo se realizaron diferentes configuraciones en la

máquina de entrono de desarrollo:

Instalación del Visual Studio 2013

Entorno de desarrollo que incluye una variedad de herramientas de

productividad para los desarrolladores entre ellos tenemos F#, Visual C++,

Visual Basic, Server Data Tools, y SDK para móviles de multiplataforma.

Instalación de SQL Server 2008 R2

El SQL Server 2008 R2 permite el manejo de bases de datos de modelos

relacional conectándose con el servidor por medio Transact-SQL desarrollando

la creación y modificación de esquemas, datos así también con la administración

del servidor como tal.

Instalar Java JDK

El instalador del JDK se lo encuentra en el sitio de descargas de Oracle. Se debe

descargar la versión correspondiente al sistema operativo de la pantalla que se

muestra a continuación.

Instalación de Android Studio

Es un entorno de desarrollo integrado para crear aplicaciones para dispositivos

móviles que tengan sistema operativo Android.

La descarga de Android Studio se hace desde el sitio oficial de desarrolladores

de Google. Una vez descargado el instalador, se lo ejecuta y aparece la pantalla

a continuación y se sigue las instrucciones en pantalla.

Para que Android Studio tenga acceso a las librerías de JAVA es necesario

modificar las variables del entorno para definir su ruta en el sistema. Se necesita

configurar una variable llamada JAVA_HOME que tenga en el valor la ruta al

Java JDK que se instaló en el ordenador.

Una vez que hemos instalado y configurado los componentes anteriores,

debemos descargar e instalar el SDK y los componentes de Android Studio.

Debemos aceptar los términos de licencia y a continuación se muestra la

siguiente imagen para poder empezar con la descarga.

Una vez finalice el proceso los elementos estarán en nuestro disco duro, dentro

de la carpeta SDK que hayamos configurado durante la instalación, y listos para

ser utilizados.

Administrador de Internet Information Services (IIS)

Configuramos el servidor web con la herramienta IIS para poder alojar el

proyecto de la aplicación Kleta_sw.

Instalación de componentes y extensiones

Asignación de Controles

Damos clik en Asignaciones de Controladores:

Control: ExtensionIessUrlHandler-Integrated-4.0

Configuramos el controlador:

Control: WebDAV

Configuramos el controlador:

Creación del Servidor Windows Server 2012

Plataforma Microsoft Azure para la creación de la máquina virtual

Máquina Virtual Kletapp2012

Activación del puerto 80 en la máquina virtual: HTTP (TCP/80)

Accediendo a la máquina virtual Windows Server 2012

Ingreso a la máquina virtual Windows Server 2012

Ingreso al Servidor de Sql Server 2012

Servicio Web en IIS para la aplicación KLETA APP

Levantamiento del Sitio Web para la aplicación KLETA APP

Sitio Web Administrador KLETA APP

Reporte Exportado a Excel

CONECTAR PHP CON SQL SERVER

Versiones:

- Laptop: Windows 10, 64 bits- Base de Datos: Sql Server 2012- wampserver3.0.4_x86_apache2.4.18_mysql5.7.11_php5.6.19

Se instala wampserver para 32 bits, ya que el de 64 bits da problemas

- Se descargan las dll sqlsrv para 32 bitso Doble click en “SQLSRV32.EXE” para ejecutar, aceptamos y

después indicamos la ruta donde deseamos guardar las dllo

En el archivo “versión según versión de php.txt” podemos ver cual versión de dll

se debe coger

Cogemos la versión 56 ya que la versión de php que se instala con el

wampserver es php5.6.19

La versión la podemos ver en phpinfo

Copiamos las dll

y las pegamos en la siguiente ruta: C:\wamp\bin\php\php5.6.19\ext

Ahora debemos agregar al final de los archivos php.ini las referencias a las

librerías

[PHP_SQLSRV]

extension=php_sqlsrv_56_ts.dll

[PHP_PDO_SQLSRV]

extension=php_pdo_sqlsrv_56_ts.dll

En la primera ruta: C:\wamp\bin\php\php5.6.19

En la segunda ruta: C:\wamp\bin\apache\apache2.4.18\bin

Notas:

Con esta configuración ya no debe salir el error “la función sqlsrv_connect” no

está definida al momento de probar en una página que se quiere conectar a

SQL.

Además se soluciona el error al iniciar el WampServer que la dll

php_sqlsrv_56_ts.dll no es una aplicación de 32 bits valida

Finalmente en phpinfo ya se muestran las referencias a las librerías sqlsrv

Después Sale El Siguiente Error:

Me fui a la URL indicada para bajar el

driver: http://go.microsoft.com/fwlink/?LinkId=163712

En la siguiente página verifico la versión que debo descargar según mi versión

de php

Bajo en la misma página y doy click en el link “Microsoft ODBC Driver 11 for SQL

Server page” en la sección de la versión 3.2 or 3.1

Se abre la siguiente página y damos click en el botón “Download”

En la siguiente página seleccionamos el driver según la versión de SO que

tengamos 32 o 64 bits. Probé instalando la versión de 32 pero no me permitió

instalarla porque mi Windows es a 64 bits, por lo que tuve que descargar la

versión de 64 bits

Se descargó el siguiente archivo

Damos doble click y en la instalación se sigue los pasos indicados y listos

Pasamos a probar la conexión desde una página php

Código php para probar

<?php

$server='ROLANDO';

echo "<br/>got server name";

$connectinfo=array("Database"=>"bdaya","UID"=>"sa", "PWD"=>"sqltttt");

//connect to DB

echo "<br/>got db name";

$db=sqlsrv_connect($server,$connectinfo);

echo "<br/>got connection";

if($db)

{

echo "<br/>Connection established.

";

}

else

{

echo "<br/>Connection couldn't be established.

";

die(print_r( sqlsrv_errors(), true));

}

?>

Subiendo la aplicación Kleta App en la cuenta de Google Play Developer

Console

Ingreso de los datos para la respectiva publicación

Creación de las claves para el proyecto Kleta App

Creación del clave API para el proyecto Kleta App

Aplicación KletaApp publicada en el Google Play

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA

DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO

ANDROID Y GEOLOCALIZACIÓN QUE PERMITA

OFRECER Y SOLICITAR SERVICIOS DE

ALQUILER DE CASAS CON UBICACIÓN

EXACTA Y A LA VEZ SUGIERA

LAS MÁS CERCANAS A LA

UBICACIÓN ACTUAL EN

CUALQUIER PARTE

DE GUAYAQUIL.

CÓDIGO FUENTE

AUTORES:

LOOR VILLAMAR ANDRÉS DAVID

MOROCHO RAMOS MIGUEL ANGEL

TUTORA:

ING. VERÓNICA MENDOZA MORÁN. M.SC.

GUAYAQUIL – ECUADO

2016

Estructura del Proyecto KALETA APP:

Android Studio:

Clases de Java más Importantes:

Login.java

package com.integradora. kaletaApp;

import android.app.AlertDialog;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;

public class Login extends ActionBarActivity implements View.OnClickListener { Button bLogin; TextView registerLink; EditText etUsername, etPassword;

UserLocalStore userLocalStore;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login);

bLogin = (Button) findViewById(R.id.bLogin); etUsername = (EditText) findViewById(R.id.etUsername); etPassword = (EditText) findViewById(R.id.etPassword); registerLink = (TextView) findViewById(R.id.tvRegisterLink);

bLogin.setOnClickListener(this); registerLink.setOnClickListener(this);

userLocalStore = new UserLocalStore(this); }

@Override public void onClick(View view) { switch (view.getId()) { case R.id.bLogin: String username = etUsername.getText().toString(); String password = etPassword.getText().toString();

User user = new User(username, password);

authenticate(user); break; case R.id.tvRegisterLink: Intent registerIntent = new Intent(Login.this, Register.class); startActivity(registerIntent); break; } }

private void authenticate(User user) { ServerRequests serverRequest = new ServerRequests(this); serverRequest.fetchUserDataAsyncTask(user, new GetUserCallback() { @Override public void done(User returnedUser) { if (returnedUser == null) { showErrorMessage(); } else { logUserIn(returnedUser); } } }); }

private void showErrorMessage() { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(Login.this); dialogBuilder.setMessage("Incorrect user details"); dialogBuilder.setPositiveButton("Ok", null); dialogBuilder.show(); }

private void logUserIn(User returnedUser) { userLocalStore.storeUserData(returnedUser); userLocalStore.setUserLoggedIn(true); startActivity(new Intent(this, MapsActivity.class));}}

bLogin.setOnClickListener(this); registerLink.setOnClickListener(this);

userLocalStore = new UserLocalStore(this); }

@Override public void onClick(View view) { switch (view.getId()) { case R.id.bLogin: String username = etUsername.getText().toString(); String password = etPassword.getText().toString();

User user = new User(username, password);

authenticate(user); break; case R.id.tvRegisterLink: Intent registerIntent = new Intent(Login.this, Register.class); startActivity(registerIntent); break; } }

Register.java

private void authenticate(User user) { ServerRequests serverRequest = new ServerRequests(this); serverRequest.fetchUserDataAsyncTask(user, new GetUserCallback() { @Override public void done(User returnedUser) { if (returnedUser == null) { showErrorMessage(); } else { logUserIn(returnedUser); } } }); }

private void showErrorMessage() { AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(Login.this); dialogBuilder.setMessage("Incorrect user details"); dialogBuilder.setPositiveButton("Ok", null); dialogBuilder.show(); }

private void logUserIn(User returnedUser) { userLocalStore.storeUserData(returnedUser); userLocalStore.setUserLoggedIn(true); startActivity(new Intent(this, MapsActivity.class));}}

package com.integradora.kaletaApp;

import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.Button;import android.widget.EditText;

public class Register extends ActionBarActivity implements View.OnClickListener{ EditText etName, etAge, etUsername, etPassword; Button bRegister;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register);

etName = (EditText) findViewById(R.id.etName); etAge = (EditText) findViewById(R.id.etAge); etUsername = (EditText) findViewById(R.id.etUsername); etPassword = (EditText) findViewById(R.id.etPassword); bRegister = (Button) findViewById(R.id.bRegister);

bRegister.setOnClickListener(this); }

package com.integradora.kaletaApp;

import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.Button;import android.widget.EditText;

public class Register extends ActionBarActivity implements View.OnClickListener{ EditText etName, etAge, etUsername, etPassword; Button bRegister;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register);

etName = (EditText) findViewById(R.id.etName); etAge = (EditText) findViewById(R.id.etAge); etUsername = (EditText) findViewById(R.id.etUsername); etPassword = (EditText) findViewById(R.id.etPassword); bRegister = (Button) findViewById(R.id.bRegister);

bRegister.setOnClickListener(this); }

@Override public void onClick(View v) { switch (v.getId()) { case R.id.bRegister: String name = etName.getText().toString(); String username = etUsername.getText().toString(); String password = etPassword.getText().toString(); int age = Integer.parseInt(etAge.getText().toString());

User user = new User(name, age, username, password); registerUser(user); break; } }

private void registerUser(User user) { ServerRequests serverRequest = new ServerRequests(this); serverRequest.storeUserDataInBackground(user, new GetUserCallback() { @Override public void done(User returnedUser) { Intent loginIntent = new Intent(Register.this, Login.class); startActivity(loginIntent); } }); }}

BuscarAlquiler.java

package com.integradora.kaletaApp;

import android.content.Intent;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.text.Editable;import android.view.View;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.NumberPicker;import android.widget.TextView;

/** * Created by Miguel Morocho on 30/07/2016. */public class BuscarAlquiler extends ActionBarActivity {

EditText etCostoInicial, etCostoFinal, etCuartos, etBanos, etSector; CheckBox chGaraje, chPatio; Button btBuscar;

Button btCuartosUp,btBanosUp,btCuartosDown,btBanosDown;Button btCostoIUp,btCostoFUp,btCostoIDown,btCostoFDown;NumberPicker npCosto1;

int costoi=0, costof=0, cuartos=0, banos=0, garaje=0, patio=0;String sector="";

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.buscar_alquiler);

costoi = getIntent().getIntExtra("costoi",0); costof = getIntent().getIntExtra("costof",0); cuartos = getIntent().getIntExtra("cuartos",0); banos = getIntent().getIntExtra("banos", 0); garaje = getIntent().getIntExtra("garaje", -1); patio = getIntent().getIntExtra("patio", -1); sector = getIntent().getStringExtra("sector");

//Inicializacionde ControlesetCostoInicial = (EditText)findViewById(R.id.etCosto1); etCostoFinal = (EditText)findViewById(R.id.etCosto2);etCuartos = (EditText)findViewById(R.id.etCuartos_);etBanos = (EditText)findViewById(R.id.etBanos_); chGaraje = (CheckBox)findViewById(R.id.chGaraje_); chPatio = (CheckBox)findViewById(R.id.chPatio_); etSector = (EditText)findViewById(R.id.etSector_);

//Setaer Valores por defectoetCostoInicial.setText(String.valueOf(costoi));etCostoFinal.setText(String.valueOf(costof)); etCuartos.setText(String.valueOf(cuartos)); etBanos.setText(String.valueOf(banos)); if(garaje==1) chGaraje.setChecked(true); else chGaraje.setChecked(false);

etSector.setText(sector);

etBanos.setText(String.valueOf(banos));

btCuartosUp = (Button)findViewById(R.id.btCuartosUp); btCuartosUp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String valor = etCuartos.getText().toString(); if (valor.equals("")) { etCuartos.setText("0");

} else {valor = etCuartos.getText().toString();Integer cuantos = Integer.parseInt(valor); cuantos++; etCuartos.setText(String.valueOf(cuantos)); }

} });btCuartosDown = (Button)findViewById(R.id.btCuartosDown);btCuartosDown.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String valor = etCuartos.getText().toString(); if (valor.equals("")) { etCuartos.setText("0");

} else { if (!valor.equals("0")) {valor = etCuartos.getText().toString();Integer cuantos = Integer.parseInt(valor); cuantos--; etCuartos.setText(String.valueOf(cuantos)); }

}

} });btBanosUp = (Button)findViewById(R.id.btBanosUp);btBanosUp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String valor = etBanos.getText().toString(); if (valor.equals("")) { etBanos.setText("0");

} else {valor = etBanos.getText().toString();Integer cuantos = Integer.parseInt(valor); cuantos++; etBanos.setText(String.valueOf(cuantos)); }

} });

btBanosDown = (Button)findViewById(R.id.btBanosDown);btBanosDown.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String valor = etBanos.getText().toString(); if (valor.equals("")) { etBanos.setText("0");

}

else { if (!valor.equals("0")) {valor = etBanos.getText().toString();Integer cuantos = Integer.parseInt(valor); cuantos--; etBanos.setText(String.valueOf(cuantos)); }

}

} });

btCostoIUp = (Button)findViewById(R.id.btCostoIUp);btCostoIUp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String valor = etCostoInicial.getText().toString(); if (valor.equals("")) { etCostoInicial.setText("0");

} else {valor = etCostoInicial.getText().toString();Integer cuantos = Integer.parseInt(valor); cuantos=cuantos+50; etCostoInicial.setText(String.valueOf(cuantos));}

} }); btCostoIDown = (Button)findViewById(R.id.btCostoIDown); btCostoIDown.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String valor = etCostoInicial.getText().toString(); if (valor.equals("")) { etCostoInicial.setText("0");

} else { if (!valor.equals("0")) {valor = etCostoInicial.getText().toString();Integer cuantos = Integer.parseInt(valor); cuantos=cuantos-50;; etCostoInicial.setText(String.valueOf(cuantos)); }

}

} });

btCostoFUp = (Button)findViewById(R.id.btCostoFUp);btCostoFUp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String valor = etCostoFinal.getText().toString(); if (valor.equals("")) { etCostoFinal.setText("0");

} else {valor = etCostoFinal.getText().toString();Integer cuantos = Integer.parseInt(valor); cuantos=cuantos+50; etCostoFinal.setText(String.valueOf(cuantos));}

} });

btCostoFDown = (Button)findViewById(R.id.btCostoFDown); btCostoFDown.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String valor = etCostoFinal.getText().toString(); if (valor.equals("")) { etCostoFinal.setText("0");

} else { if (!valor.equals("0")) {valor = etCostoFinal.getText().toString();Integer cuantos = Integer.parseInt(valor); cuantos=cuantos-50;; etCostoFinal.setText(String.valueOf(cuantos));}

}

} });

btBuscar = (Button)findViewById(R.id.btBuscar); btBuscar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {

if(!etCostoInicial.getText().toString().equals("")) costoi=Integer.parseInt(etCostoInicial.getText().toString()); else costoi=0;

if(!etCostoFinal.getText().toString().equals("")) costof=Integer.parseInt(etCostoFinal.getText().toString()); else costof=0;

if(!etCuartos.getText().toString().equals(""))cuartos=Integer.parseInt(etCuartos.getText().toString());else cuartos=0;

if(!etBanos.getText().toString().equals(""))banos=Integer.parseInt(etBanos.getText().toString());else banos=0;

if(chGaraje.isChecked()) garaje=1; else garaje=-1;

if(chPatio.isChecked()) patio=1; else patio=-1;

if(!etSector.getText().toString().equals("")) sector= etSector.getText().toString(); else sector="";

MapsActivity.SetearValoresFiltros(costoi, costof, cuartos, banos, garaje, patio,sector);

finish(); } });

}

Publicar.java

private void LlamarResultadoBusqueda() {Intent iBuscarActivity = new Intent(getBaseContext(), ResultadoBusqueda.class);//intentMNG.putExtra("clienteId", clienteId); //iBuscarActivity.putExtra("costoi", costoi);

iBuscarActivity.putExtra("costoi", costoi); iBuscarActivity.putExtra("costof", costof); iBuscarActivity.putExtra("cuartos", cuartos); iBuscarActivity.putExtra("banos", banos); iBuscarActivity.putExtra("garaje", garaje); iBuscarActivity.putExtra("patio", patio); iBuscarActivity.putExtra("sector", sector);

startActivityForResult(iBuscarActivity, 2);

}}

package com.integradora.kaletaApp;

import android.app.Activity;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;

/** * Created by Andres Loor on 30/07/2016. */public class Publicar extends ActionBarActivity {

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.buscar_alquiler); }}

ResultadoBusqueda.java

package com.integradora.kaletaApp;

import android.app.LoaderManager;import android.app.ProgressDialog;import android.content.Intent;import android.content.Loader;import android.database.Cursor;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.widget.AdapterView;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.ListView;import android.widget.Toast;

import com.google.android.gms.maps.model.Marker;import com.integradora.renthouse.db.SQLite;

/** * Created by Miguel Morocho on 02/08/2016.*/

public class ResultadoBusqueda extends ActionBarActivity {

EditText etCostoInicial, etCostoFinal, etCuartos, etBanos, etSector; CheckBox chGaraje, chPatio; Button btBuscar;

int costoi=0, costof=0, cuartos=0, banos=0, garaje=0, patio=0; String sector="";

BusquedaCursorAdapter mAdapter;

ProgressDialog progressDialog;String Latitud; String Longitud;

private String lenguajeProgramacion[]=new String[]{"Java","PHP","Python","JavaScript"};

private Integer[] imgid={ R.drawable.homeicon, R.drawable.home_pin1, R.drawable.home_pin2, R.drawable.pinlocal

};

private ListView lista; private SQLite sqlite; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.resultado_busqueda);

//costoi = getIntent().getIntExtra("costoi",0);

costoi = getIntent().getIntExtra("costoi",0); costof = getIntent().getIntExtra("costof",0);cuartos = getIntent().getIntExtra("cuartos",0); banos = getIntent().getIntExtra("banos", 0); garaje = getIntent().getIntExtra("garaje", -1); patio = getIntent().getIntExtra("patio", -1); sector = getIntent().getStringExtra("sector");

//Inicializacionde Controles//etCostoInicial = (EditText)findViewById(R.id.etCosto1); sqlite = new SQLite( this ); sqlite.abrir();

Cursor cursor;

cursor = sqlite.getRegistros(costoi, costof, cuartos, banos, garaje, patio, sector);

this.mAdapter = new BusquedaCursorAdapter(this, R.layout.fila_lista, cursor, new String[] { "FOTO2", "SECTOR", "COSTO" }, new int[] { R.id.image_casa, R.id.texto_principal, R.id.texto_secundario }, 0); //DireccionCP antes Direccion del Cliente

lista=(ListView)findViewById(R.id.lvResultados); lista.setAdapter(mAdapter); //rutero_lsv_listaClientes.setAdapter(mAdapter);

//ListaAdapter adapter=new ListaAdapter(this,lenguajeProgramacion,imgid);//lista=(ListView)findViewById(R.id.lvResultados);//lista.setAdapter(adapter);

lista.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {Cursor cursor = (Cursor) mAdapter.getItem(position);// String Latitud = cursor.getString(13);// String Longitud = cursor.getString(14);//// MapsActivity.ActualizarCoordenadaVistaActual(Latitud, Longitud); LlamarDetalleAlquiler(cursor); //finish(); } });

}

private void LlamarDetalleAlquiler(Cursor cursor) {try { Intent i = new Intent(getBaseContext(), DetalleAlquilerActivity.class);//i.putExtra("Foto1", "http://www.thebiblescholar.com/android_awesome.jpg");

Latitud = cursor.getString(13); Longitud = cursor.getString(14);

i.putExtra("Nombre", cursor.getString(1)); i.putExtra("Email", cursor.getString(17));

i.putExtra("Sector", cursor.getString(9)); i.putExtra("Costo",cursor.getString(3)); i.putExtra("Descripcion", cursor.getString(10)); i.putExtra("Telefono",cursor.getString(2)); i.putExtra("Cuartos", cursor.getString(4)); i.putExtra("Banos", cursor.getString(5));

ConfigMovilActivity.java

i.putExtra("Garaje", cursor.getString(6)); i.putExtra("Patio", cursor.getString(7));

i.putExtra("Latitud", cursor.getString(13)); i.putExtra("Longitud", cursor.getString(14));

i.putExtra("Foto1", cursor.getString(19)); i.putExtra("Foto2",cursor.getString(20)); i.putExtra("Sincronizado", cursor.getString(15));

startActivityForResult(i, 1); } catch (Exception e) {

}

} @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 1) { if(resultCode==2) {MapsActivity.ActualizarCoordenadaVistaActual(Latitud, Longitud); finish();}else {

return; }}

}

}

package com.integradora.kaletaApp;

import android.app.Activity;import android.app.Dialog;import android.bluetooth.BluetoothAdapter;import android.content.Intent;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.preference.PreferenceManager;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageButton;import android.widget.RadioButton;import android.widget.TextView;_btn_servidor = (ImageButton) findViewById(R.id.configmovil_btn_servidor);

package com.integradora.kaletaApp;

import android.app.Activity;import android.app.Dialog;import android.bluetooth.BluetoothAdapter;import android.content.Intent;import android.content.SharedPreferences.Editor;import android.os.Bundle;import android.preference.PreferenceManager;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageButton;import android.widget.RadioButton;import android.widget.TextView;

public class ConfigMovilActivity extends Activity {

EditText configmovil_et_rutaservidor;ImageButton configmovil_btn_servidor, configmovil_btn_impresora;

public static final int REQUEST_ENABLE_BT = 100;public static final int REQUEST_CONNECT_DEVICE = 200;

private String TAG = "Configuracion del Sistema";

//05-08-2016

private String rutaExterna= "http://181.198.6.138:3027/SWRH";private String rutaInterna= "http://192.168.0.116/kleta_sw";

RadioButton rb_rutaInterna, rb_rutaExterna;

//////

@Overrideprotected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);setContentView(R.layout.activity_config_movil);

inicializar();}

private void inicializar() {configmovil_et_rutaservidor = (EditText)

findViewById(R.id.configmovil_et_rutaservidor);

configmovil_btn_servidor = (ImageButton) findViewById(R.id.configmovil_btn_servidor);

rb_rutaExterna = (RadioButton) findViewById(R.id.ip_externa);rb_rutaInterna = (RadioButton) findViewById(R.id.ip_interna);

}});

rb_rutaExterna.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {

configmovil_et_rutaservidor.setText(rutaExterna);Editor editor =

PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit();editor.putString("servidor", rutaExterna);editor.commit();

}});

rb_rutaInterna.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {

configmovil_et_rutaservidor.setText(rutaInterna);Editor editor =

PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit();editor.putString("servidor", rutaInterna);editor.commit();

}});

configmovil_et_rutaservidor.setText(PreferenceManager.getDefaultSharedPreferences(getApplicationContext())

.getString("servidor", "").trim());

if(configmovil_et_rutaservidor.getText().toString().toLowerCase().equals(rutaExterna.toLowerCase())){

rb_rutaExterna.setChecked(true);}

if(configmovil_et_rutaservidor.getText().toString().toLowerCase().equals(rutaInterna.toLowerCase())){

rb_rutaInterna.setChecked(true);}

if(configmovil_et_rutaservidor.getText().toString().trim().length() > 7) {

} else {configmovil_et_rutaservidor.setText("http://181.198.6.138:3027/SWRH");Editor editor =

PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit();editor.putString("servidor", "http://181.198.6.138:3027/SWRH");editor.commit();

}configmovil_btn_servidor.setOnClickListener(new OnClickListener() {

@Overridepublic void onClick(View arg0) {

Editor editor = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).edit();

editor.putString("servidor", configmovil_et_rutaservidor.getText().toString());

editor.commit();

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA

DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO

ANDROID Y GEOLOCALIZACIÓN QUE PERMITA

OFRECER Y SOLICITAR SERVICIOS DE

ALQUILER DE CASAS CON UBICACIÓN

EXACTA Y A LA VEZ SUGIERA

LAS MÁS CERCANAS A LA

UBICACIÓN ACTUAL EN

CUALQUIER PARTE

DE GUAYAQUIL.

PROYECTO DE TITULACIÓN

Previa a la obtención del Título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

AUTORES:

LOOR VILLAMAR ANDRÉS DAVID

MOROCHO RAMOS MIGUEL ANGEL

TUTORA:

ING. VERÓNICA MENDOZA MORÁN. M.SC.

GUAYAQUIL – ECUADOR

2016

REPOSITORIO NACIONAL EN CIENCIA Y TECNOLOGÍA

FICHA DE REGISTRO DE TESIS

TÍTULO Y SUBTÍTULO: Desarrollo e implementación de un aplicativo para dispositivos móviles con sistema operativo Android y geolocalización que permita ofrecer y solicitar servicios de alquiler de casas con ubicación exacta y a la vez sugiera las más cercanas a la ubicación actual en cualquier parte de Guayaquil.

AUTOR:

Andrés David Loor Villamar

Miguel Angel Morocho Ramos

TUTOR: Ing. Verónica Mendoza Morán, M.Sc.

REVISORES: Lcdo. Ricardo Ramírez Veliz, M.Sc. Ing. César Eras Guamán, M.Sc.

INSTITUCIÓN: Universidad de Guayaquil FACULTAD: Ciencias Matemáticas y Físicas

CARRERA: Ingeniería en Sistemas Computacionales

FECHA DE PUBLICACIÓN: No. DE PÁGS: 82

TÍTULO OBTENIDO: Ingeniero en Sistemas Computacionales

ÁREAS TEMÁTICAS: Sistemas, Ingeniería de Software, Desarrollo de Aplicación

PALABRAS CLAVE: Geolocalización, Buscador, Publicación.

RESUMEN: Dentro del déficit de vivienda y el crecimiento urbano en Guayaquil, muchos

habitantes buscan departamentos o viviendas en alquiler, por esa razón se ha implementado

una aplicación “Kleta App” en la Play Store con la finalidad de que este APK permita

encontrar viviendas de alquiler publicadas con geolocalización el cual establezca rutas más

cortas hacia la vivienda, dirigido a usuarios que tengan cuenta Gmail y dispositivos móviles

con GPS e internet.

No. DE REGISTRO (en base de datos): No. DE CLASIFICACIÓN:

DIRECCIÓN URL (tesis en la web):

ADJUNTO PDF: x SI NO

CONTACTO CON

AUTOR/ES

Teléfono:

0993741188 0992014588

E-mail:

[email protected] [email protected]

CONTACTO EN LA INSTITUCIÓN: Nombre: Secretaría de la Facultad

Teléfono: (03)2848487 Ext. 123

E-mail: [email protected]

II

APROBACIÓN DEL TUTOR

En mi calidad de Tutora del trabajo de titulación, “DESARROLLO E

IMPLEMENTACIÓN DE UN APLICATIVO PARA DISPOSITIVOS MÓVILES

CON SISTEMA OPERATIVO ANDROID Y GEOLOCALIZACIÓN QUE PERMITA

OFRECER Y SOLICITAR SERVICIO DE ALQUILER DE CASAS CON

UBICACIÓN EXACTA Y A LA VEZ SUGIERA LAS MÁS CERCANAS A LA

UBICACIÓN ACTUAL EN CUALQUIER PARTE DE GUAYAQUIL“ elaborado por

el SR. LOOR VILLAMAR ANDRÉS DAVID y el SR. MIGUEL ANGEL MOROCHO

RAMOS, Alumnos no titulados de la Carrera de Ingeniería en Sistemas

Computacionales, Facultad de Ciencias Matemáticas y Físicas de la Universidad

de Guayaquil, previo a la obtención del Título de Ingeniero en Sistemas, me

permito declarar que luego de haber orientado, estudiado y revisado, la apruebo

en todas sus partes.

Atentamente

Ing. Verónica Mendoza Morán, M.Sc.

TUTOR

III

DEDICATORIA

Este proyecto de titulación se lo dedico

en primer lugar a Dios quien supo

guiar a mis padres para darme la

mejor herencia que es la confianza en

seguir adelante en la educación y de

manera especial a mis pilares que hoy

en día son mi esposa e hijo que

supieron comprenderme y brindarme

su tiempo para los estudios.

A mis hermanos, profesores y amigos

que de una u otra manera me

apoyaron a mirar al frente para

culminar la carrera.

Loor Villamar Andrés David

IV

DEDICATORIA

Este proyecto de titulación se lo dedico

en primer lugar a Dios y a mis padres

por haberme permitido culminar la

universidad, a mis hermanas y familia

en general que siempre ha estado a mi

lado en todos los momentos de mi

vida.

Morocho Ramos Miguel Angel

V

AGRADECIMIENTO

Agradezco a Dios que me permite

día a día despertarme por las

mañanas, y por tener de una u otra

manera a personas que me alientan

a culminar esta etapa de mi vida.

Agradezco a mi madre, padre,

hermanos esposa e hijos que

siempre ayudaron cuando los

necesite.

Loor Villamar Andrés David

VI

AGRADECIMIENTO

Agradezco a Dios que me permite

día a día despertarme por las

mañanas, y por tener de una u otra

manera a personas que me alientan

a culminar esta etapa de mi vida.

Agradezco a mi madre, padre,

hermanas que siempre me ayudaron

cuando los necesite.

Morocho Ramos Miguel Angel

VII

TRIBUNAL PROYECTO DE TITULACIÓN

Ing. Eduardo Santos Baquerizo, M.Sc.

DECANO DE LA FACULTAD CIENCIAS MATEMÁTICAS Y

FÍSICAS

Ing. Roberto Crespo Mendoza, Mgs.

DIRECTOR DE CARRERA INGENIERÍA EN SISTEMAS

COMPUTACIONALES

Lcdo. Ricardo Ramírez Veliz, M.Sc.

PROFESOR REVISOR DEL ÁREA TRIBUNAL

Ing. César Eras Guamán,

M.Sc.

PROFESOR REVISOR DEL ÁREA TRIBUNAL

Ing. Verónica Mendoza Morán, M.Sc.

PROFESOR DIRECTOR DEL PROYECTO DE TITULACIÓN

Ab. Juan Chávez Atocha Esp.

SECRETARIO

VIII

DECLARACIÓN EXPRESA

“La responsabilidad del contenido de este

Proyecto de Titulación, nos corresponden

exclusivamente; y el patrimonio intelectual

de la misma a la UNIVERSIDAD DE

GUAYAQUIL”

LOOR VILLAMAR ANDRÉS DAVID

C.I 092555246-5

MOROCHO RAMOS MIGUEL ANGEL

C.I 092881946-5

IX

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA

DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO

ANDROID Y GEOLOCALIZACIÓN QUE PERMITA

OFRECER Y SOLICITAR SERVICIOS DE

ALQUILER DE CASAS CON UBICACIÓN

EXACTA Y A LA VEZ SUGIERA

LAS MÁS CERCANAS A LA

UBICACIÓN ACTUAL EN

CUALQUIER PARTE

DE GUAYAQUIL.

Proyecto de Titulación que se presenta como requisito para optar por el título de:

INGENIERO EN SISTEMAS COMPUTACIONALES

Autores: Loor Villamar Andrés David

C.I. 0925552465

Morocho Ramos Miguel Angel

C.I. 0928819465

Tutora: Ing. Verónica Mendoza Morán. M.Sc.

Guayaquil, Diciembre de 2016

X

CERTIFICADO DE ACEPTACIÓN DEL TUTOR

En mi calidad de Tutor del proyecto de titulación nombrado por el Consejo

Directivo de la Facultad de Ciencias Matemáticas y Físicas de la Universidad de

Guayaquil.

CERTIFICO:

Que he analizado el Proyecto de Titulación presentado por los

estudiantes ANDRÉS DAVID LOOR VILLAMAR y MIGUEL ANGEL MOROCHO

RAMOS, como requisito previo para optar por el título de Ingeniero en Sistemas

Computacionales cuyo problema es:

DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA

DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO ANDROID Y

GEOLOCALIZACIÓN QUE PERMITA OFRECER Y SOLICITAR SERVICIOS

DE ALQUILER DE CASAS CON UBICACIÓN EXACTA Y A LA VEZ SUGIERA

LAS MÁS CERCANAS A LA UBICACIÓN ACTUAL EN CUALQUIER PARTE

DE GUAYAQUIL.

Considero aprobado el trabajo en su totalidad.

Presentado por:

LOOR VILLAMAR ANDRÉS DAVID MOROCHO RAMOS MIGUEL ANGEL

C.I N° 0925552465 C.I N° 0928819465

Tutora: Ing. Verónica Mendoza Morán. M.Sc.

Guayaquil, Diciembre de 2016.

XI

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

Autorización para Publicación de Proyecto de Titulación en Formato Digital

1. Identificación del Proyecto de Titulación

Nombre Alumno: Loor Villamar Andrés David

Dirección: Florida Norte Coop. Patria Nueva Mz. 353 S 27

Teléfono:042264436 E-mail: [email protected]

Nombre Alumno: Morocho Ramos Miguel Angel

Dirección: Duran Los Helechos Mz. 36 Vll 11

Teléfono:042807501 E-mail: [email protected]

Facultad: Ciencias Matemáticas y Físicas

Carrera: Ingeniería en Sistemas Computacionales

Proyecto de titulación al que opta: Ingeniero en Sistemas Computacionales

Profesor tutor: Ing. Verónica Mendoza Morán. M.Sc.

Título del Proyecto de titulación: Desarrollo e Implementación de un aplicativo

para dispositivos móviles con sistema operativo Android y geolocalización que

permita ofrecer y solicitar servicios de alquiler de casas con ubicación exacta y a

la vez sugiera la más cercana a la ubicación actual en cualquier parte de

Guayaquil.

XII

Tema del Proyecto de Titulación: Desarrollo e Implementación de una

aplicación en la Play Store.

2. Autorización de Publicación de Versión Electrónica del Proyecto de

Titulación

A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y

a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica

de este Proyecto de titulación.

Publicación electrónica:

Inmediata X Después de 1 año

3. Forma de envío:

El texto del proyecto de titulación debe ser enviado en formato Word, como

archivo .Doc. O.RTF y. Puf para PC. Las imágenes que la acompañen pueden

ser: .gif, .jpg o .TIFF.

DVDROM CDROM X

Firma de Alumnos:

XIII

ÍNDICE GENERAL

APROBACIÓN DEL TUTOR ................................................................................ II

DEDICATORIA ................................................................................................... III

DEDICATORIA ................................................................................................... IV

AGRADECIMIENTO ............................................................................................ V

AGRADECIMIENTO ........................................................................................... VI

TRIBUNAL PROYECTO DE TITULACIÓN ........................................................ VII

CERTIFICADO DE ACEPTACIÓN DEL TUTOR .................................................. X

ÍNDICE GENERAL ........................................................................................... XIII

ÍNDICE DE CUADROS ................................................................................... XVII

ÍNDICE DE GRÁFICOS ................................................................................... XIX

ABREVIATURAS ............................................................................................. XXI

SIMBOLOGÍA ................................................................................................. XXII

RESUMEN ..................................................................................................... XXIV

ABSTRACT ................................................................................................... XXVI

INTRODUCCIÓN ................................................................................................. 2

CAPÍTULO I ......................................................................................................... 3

EL PROBLEMA ............................................................................................... 3

PLANTEAMIENTO DEL PROBLEMA .............................................................. 3

Ubicación del problema en un contexto ..................................................................... 3

Situación conflicto nudos críticos ............................................................................... 8

Causas y consecuencias del problema ...................................................................... 8

Delimitación del problema .......................................................................................... 8

Formulación del problema .......................................................................................... 9

Evaluación del problema ............................................................................................ 9

OBJETIVOS................................................................................................... 10

OBJETIVO GENERAL ............................................................................................. 10

XIV

OBJETIVOS ESPECÍFICOS .................................................................................... 11

ALCANCES DEL PROBLEMA ....................................................................... 11

JUSTIFICACIÓN E IMPORTANCIA ............................................................... 12

METODOLOGÍA DEL PROYECTO: .............................................................. 13

CAPÍTULO II ...................................................................................................... 15

MARCO TEÓRICO ........................................................................................ 15

ANTECEDENTES DEL ESTUDIO ................................................................. 15

FUNDAMENTACIÓN TEÓRICA .................................................................... 16

El gran libro de Android ............................................................................................ 16

Desarrollo Web para dispositivos móviles ............................................................... 17

Android ..................................................................................................................... 18

Android Studio .......................................................................................................... 18

Base de datos ........................................................................................................... 18

SCRUM .................................................................................................................... 19

FUNDAMENTACIÓN LEGAL ......................................................................... 20

Ley de comercio electrónico, firmas electrónicas y mensajes de datos. ................. 20

SECCIÓN OCTAVA ................................................................................................. 21

Ciencia, tecnología, innovación y saberes ancestrales. .......................................... 21

Ley derecho de autor y derecho conexos ................................................................ 22

De los Programas de Ordenador ............................................................................. 23

De la infraestructura tecnológica. ............................................................................. 24

Condiciones del Servicio de Google Play ................................................................ 25

Régimen Del Buen Vivir ........................................................................................... 26

Inclusión Y Equidad .................................................................................................. 26

Preguntas Científica a Contestarse ................................................................ 27

Definiciones Conceptuales ............................................................................. 27

CAPÍTULO III ..................................................................................................... 31

PROPUESTA TECNOLÓGICA ...................................................................... 31

Análisis de factibilidad .................................................................................... 31

Factibilidad operacional ................................................................................. 31

XV

Factibilidad legal ............................................................................................ 33

Factibilidad económica .................................................................................. 34

Tiempo y costo de desarrollo ................................................................................... 35

Costo de personal .................................................................................................... 35

Costo de hardware ................................................................................................... 36

Costos de Software .................................................................................................. 37

Etapas de la metodología del proyecto .......................................................... 38

Metodología utilizada ............................................................................................... 38

Identificación de requerimientos ............................................................................... 38

Ámbito del sistema ................................................................................................... 38

Lista de requerimientos ............................................................................................ 39

Análisis ..................................................................................................................... 42

Historias de usuarios ................................................................................................ 42

Diseño ........................................................................................................... 47

Arquitectura ................................................................................................... 47

Modelo Entidad Relación ............................................................................... 48

Configuración del Web Services .............................................................................. 49

Configuración de la Base de datos .......................................................................... 49

Blacklog SCRUM ...................................................................................................... 49

Pruebas ......................................................................................................... 52

Criterios de Aceptación .................................................................................. 52

Entregables del proyecto ............................................................................... 59

CRITERIOS DE VALIDACIÓN DE LA PROPUESTA ..................................... 59

Técnica de Caja Negra ............................................................................................. 59

Resultados de los criterios de aceptación ...................................................... 66

CAPÍTULO IV .................................................................................................... 77

Criterios de aceptación del producto o servicio .............................................. 77

CONCLUSIONES .......................................................................................... 80

RECOMENDACIONES .................................................................................. 81

BIBLIOGRAFÍA .............................................................................................. 82

XVI

Anexo 1 ............................................................................................................... 1

Formato de encuesta ....................................................................................... 1

Resultado por cada pregunta ........................................................................... 1

Análisis ............................................................................................................ 2

Análisis ............................................................................................................ 3

Análisis ............................................................................................................ 3

Análisis ............................................................................................................ 4

Análisis ............................................................................................................ 5

XVII

ÍNDICE DE CUADROS

CUADRO 1 VIVIENDAS PARTICULARES ARRENDADAS ................................................ 3

CUADRO 2 VIVIENDAS ARRENDADAS POR TIPO ........................................................ 4

CUADRO 3 TECNOLOGÍAS INFORMÁTICAS DEL PROYECTO ...................................... 32

CUADRO 4 DETALLES DEL COSTO DEL PROYECTO .................................................. 35

CUADRO 5 DETALLES DEL COSTO DEL PROYECTO – HARDWARE ............................. 36

CUADRO 6 DETALLES DEL COSTO DEL PROYECTO – SOFTWARE ............................. 37

CUADRO 7 REQUERIMIENTOS DEL PROYECTO ....................................................... 40

CUADRO 8 HISTORIA DE USUARIO DEL PROYECTO - HU001 ................................... 42

CUADRO 9 HISTORIA DE USUARIO DEL PROYECTO - HU002 ................................... 42

CUADRO 10 HISTORIA DE USUARIO DEL PROYECTO - HU003 ................................. 43

CUADRO 11 HISTORIA DE USUARIO DEL PROYECTO - HU004 ................................. 43

CUADRO 12 HISTORIA DE USUARIO DEL PROYECTO - HU005 ................................. 43

CUADRO 13 HISTORIA DE USUARIO DEL PROYECTO - HU006 ................................. 44

CUADRO 14 HISTORIA DE USUARIO DEL PROYECTO - HU007 ................................. 44

CUADRO 15 HISTORIA DE USUARIO DEL PROYECTO - HU008 ................................. 44

CUADRO 16 HISTORIA DE USUARIO DEL PROYECTO - HU009 ................................. 45

CUADRO 17 HISTORIA DE USUARIO DEL PROYECTO - HU010 ................................. 45

CUADRO 18 HISTORIA DE USUARIO DEL PROYECTO - HU011 ................................. 45

CUADRO 19 HISTORIA DE USUARIO DEL PROYECTO - HU012 ................................ 46

CUADRO 20 HISTORIA DE USUARIO DEL PROYECTO - HU013 ................................. 46

CUADRO 21 HISTORIA DE USUARIO DEL PROYECTO - HU001 ................................. 52

CUADRO 22 HISTORIA DE USUARIO DEL PROYECTO - HU002 ................................. 52

CUADRO 23 HISTORIA DE USUARIO DEL PROYECTO - HU003 ................................. 53

CUADRO 24 HISTORIA DE USUARIO DEL PROYECTO - HU004 ................................. 53

CUADRO 25 HISTORIA DE USUARIO DEL PROYECTO - HU005 ................................. 54

CUADRO 26 HISTORIA DE USUARIO DEL PROYECTO - HU006 ................................. 54

CUADRO 27 HISTORIA DE USUARIO DEL PROYECTO - HU007 ................................. 55

CUADRO 28 HISTORIA DE USUARIO DEL PROYECTO - HU008 ................................. 56

CUADRO 29 HISTORIA DE USUARIO DEL PROYECTO - HU009 ................................. 56

CUADRO 30 HISTORIA DE USUARIO DEL PROYECTO - HU010 ................................. 56

CUADRO 31 HISTORIA DE USUARIO DEL PROYECTO - HU011 ................................. 57

XVIII

CUADRO 32 HISTORIA DE USUARIO DEL PROYECTO - HU012 ................................. 57

CUADRO 33 HISTORIA DE USUARIO DEL PROYECTO - HU013 ................................. 58

CUADRO 34 CASO DE PRUEBA - CP01.................................................................. 59

CUADRO 35 CASO DE PRUEBA - CP02.................................................................. 60

CUADRO 36 CASO DE PRUEBA - CP03.................................................................. 61

CUADRO 37 CASO DE PRUEBA - CP04.................................................................. 62

CUADRO 38 CASO DE PRUEBA - CP05.................................................................. 63

CUADRO 39 CASO DE PRUEBA - CP06.................................................................. 64

CUADRO 40 CASO DE PRUEBA - CP07.................................................................. 64

CUADRO 41 CASO DE PRUEBA - CP08.................................................................. 65

CUADRO 42 MATRIZ DE ACEPTACIÓN .................................................................... 78

XIX

ÍNDICE DE GRÁFICOS

GRÁFICO 1 PREFERENCIAS DE APLICACIONES EN EL MERCADO ................................ 5

GRÁFICO 2 CELULARES ACTIVOS ........................................................................... 6

GRÁFICO 3 USO DE INTERNET ............................................................................... 6

GRÁFICO 4 PERSONAS QUE TIENEN SMARTPHONE ................................................. 7

GRÁFICO 5 USUARIOS CON INTERNET MÓVIL Y FIJO ................................................. 7

GRÁFICO 6 ARQUITECTURA DEL PROYECTO .......................................................... 47

GRÁFICO 7 MODELO ENTIDAD RELACIÓN DEL PROYECTO ....................................... 48

GRÁFICO 8 METODOLOGÍA SCRUM BAM ............................................................... 50

GRÁFICO 9 SPRINT DEL PROYECTO ...................................................................... 51

GRÁFICO 10 PANTALLA - INICIO DE SESIÓN ........................................................... 66

GRÁFICO 11 PANTALLA - HABILITAR GPS ............................................................. 67

GRÁFICO 12 PANTALLA - SELECCIÓN DE CUENTA PARA REGISTRO ......................... 67

GRÁFICO 13 PANTALLA - SESIÓN ......................................................................... 68

GRÁFICO 14 PANTALLA PRINCIPAL - BÚSQUEDA .................................................... 68

GRÁFICO 15 PANTALLA - POSICIÓN ACTUAL.......................................................... 69

GRÁFICO 16 PANTALLA - UBICACIÓN GPS............................................................ 69

GRÁFICO 17 PANTALLA - CONSULTA VIVIENDA ..................................................... 70

GRÁFICO 18 PANTALLA - CONSULTA DE VIVIENDAS ............................................... 70

GRÁFICO 19 PANTALLA - RESULTADO DE BÚSQUEDA ............................................ 71

GRÁFICO 20 PANTALLA - VIVIENDA PUBLICADA ..................................................... 71

GRÁFICO 21 PANTALLA - LOCALIZACIÓN DE VIVIENDA ........................................... 72

GRÁFICO 22 PANTALLA - RUTA MÁS CORTA HACIA LA VIVIENDA SELECCIONADA ...... 72

GRÁFICO 23 PANTALLA - LLAMADA TELEFÓNICA.................................................... 73

GRÁFICO 24 PANTALLA - NOTIFICACIÓN SMS ....................................................... 73

GRÁFICO 25 PANTALLA - NOTIFICACIÓN CORREO ELECTRÓNICO ........................... 74

GRÁFICO 26 PANTALLA - UBICACIÓN DE MAPA ...................................................... 74

GRÁFICO 27 PANTALLA - PUBLICACIÓN DE VIVIENDA ............................................. 75

GRÁFICO 28 PANTALLA - INGRESO DE INFORMACIÓN PUBLICACIÓN ........................ 75

GRÁFICO 29 PANTALLA - SUBIDA DE PUBLICACIÓN ................................................ 76

GRÁFICO 30 ENCUESTA FORMATO ......................................................................... 1

GRÁFICO 31 ENCUESTA - 1ERA PREGUNTA ............................................................. 2

XX

GRÁFICO 32 ENCUESTA 2DA PREGUNTA ................................................................ 2

GRÁFICO 33 ENCUESTA 3ERA PREGUNTA............................................................... 3

GRÁFICO 34 ENCUESTA - 4TA PREGUNTA ............................................................... 4

GRÁFICO 35 ENCUESTA - 4.1 PREGUNTA ................................................................ 4

GRÁFICO 36 ENCUESTA - 5TA PREGUNTA ............................................................... 5

XXI

ABREVIATURAS

UG Universidad de Guayaquil

http Protocolo de transferencia de Hyper Texto

Ing. Ingeniero

URL Localizador de Fuente Uniforme

www world wide web (red mundial)

INEC Instituto Nacional de Estadística y Censos

ENALQUI Encuesta Nacional de Alquileres

XXII

SIMBOLOGÍA

s Desviación estándar

e Error

E Espacio muestral

E(Y) Esperanza matemática de la v.a. y

s Estimador de la desviación estándar

e Exponencial

XXIII

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA

DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO

ANDROID Y GEOLOCALIZACIÓN QUE PERMITA

OFRECER Y SOLICITAR SERVICIOS DE

ALQUILER DE CASAS CON UBICACIÓN

EXACTA Y A LA VEZ SUGIERA

LAS MÁS CERCANAS A LA

UBICACIÓN ACTUAL EN

CUALQUIER PARTE

DE GUAYAQUIL.

Autores: Andrés David Loor Villamar Miguel Angel Morocho Ramos

Tutor: Ing. Verónica Mendoza Morán. M.Sc

XXIV

RESUMEN

La tecnología avanza a pasos agigantados, y los teléfonos se convierten en

parte esencial de nuestras vidas ya sea para mantenernos comunicados o

aprovechar las nuevas propuestas tecnológicas que se ofrecen a través de él.

Dentro del déficit de vivienda y el crecimiento urbano en Guayaquil, muchos

habitantes buscan departamentos o viviendas en alquiler, dado la necesidad de

no tener un lugar en donde habitar, por esa razón se ha implementado una

aplicación “Kleta App” en la Play Store con la finalidad de que este APK permita

encontrar viviendas de alquiler publicadas con geolocalización el cual establezca

rutas más cortas hacia la vivienda, dirigido a usuarios que tengan cuenta Gmail y

dispositivos móviles con GPS e internet cuya finalidad es aportar con una

alternativa de búsqueda de viviendas gratuita. Este proyecto de titulación está

enmarcado en la metodología Scrum-Bam una metodología de desarrollo rápido

y flexible; adicional se emplearon una serie de técnicas e instrumentos de

recolección de datos, para la elaboración de la aplicación y el cumplimiento de

los objetivos planteados, desarrollado en Android Studio la aplicación y el

administrador web en PHP con base de datos SQL Server sobre un Web Server

IIS. De esta manera se pudo concluir que con la implantación de esta nueva

aplicación ayudara a este sector que busca y ofrece viviendas en alquiler.

Palabras Claves: Georeferencia, geolocalización, alquiler, publicación

XXV

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

DESARROLLO E IMPLEMENTACIÓN DE UN APLICATIVO PARA

DISPOSITIVOS MÓVILES CON SISTEMA OPERATIVO

ANDROID Y GEOLOCALIZACIÓN QUE PERMITA

OFRECER Y SOLICITAR SERVICIOS DE

ALQUILER DE CASAS CON UBICACIÓN

EXACTA Y A LA VEZ SUGIERA

LAS MÁS CERCANAS A LA

UBICACIÓN ACTUAL EN

CUALQUIER PARTE

DE GUAYAQUIL.

Autores: Andrés David Loor Villamar Miguel Ángel Morocho Ramos

Tutor: Ing. Verónica Mendoza Morán. M.Sc.

XXVI

ABSTRACT

Technology advances by leaps and bounds, and phones become an essential

part of our lives whether to keep communicated or take advantage of new

technological approaches offered through it. Within the housing deficit and urban

growth in Guayaquil, many people look for apartments or houses for rent, given

the need not have a place to live, for that reason has implemented a "Kleta App"

app in the Play Store with the purpose of this APK allow find rental housing

published with geolocation which set shorter routes to housing, aimed at users

who have an account Gmail and mobile devices with GPS and internet whose

purpose is to provide an alternative search of free housing. This titling project is

framed in the methodology Scrum-Bam methodology fast and flexible

development; Additional a number of techniques and tools for data collection for

the preparation of the application and compliance with the objectives, developed

in Android Studio application and web administrator PHP-based SQL Server

database on a Web were used Server IIS. Thus it was concluded that with the

implementation of this new application will help this sector that seeks and offers

rental housing.

INTRODUCCIÓN

En Guayaquil la ciudad más poblada del Ecuador con más de 2 millones de

habitantes, abre sus puertas a propios y extraños que se adapta a los cambios

tecnológicos, habiendo varios puntos Wifi de Internet gratis que ofrece a los

usuarios que deseen conectarse; así resulta ser una ventana en pleno siglo XXI

donde los teléfonos inteligentes (Smartphone) están en su apogeo ya que

integra aplicaciones, juegos, redes sociales, cámara, video, reproductores de

música y varios servicios sin contar que hoy en día tener un teléfono es una

necesidad la cual nos mantiene comunicados.

Mediante el uso de tiendas virtuales (Play Store, Galaxy Apps, etc.), para su

descarga de aplicaciones gratuitas y pagadas, donde los Smartphone proceden

al uso de las APK de acuerdo a sus necesidades o gustos, donde tenemos un

sin número de APK para su elección como son juegos, redes sociales, ventas,

servicios bancarios, mapas y navegación etc.

Actualmente un estudio de vivienda en Guayaquil por parte del Instituto Nacional

de Estadísticas y Censos(INEC), nos indica que hay un déficit de vivienda en la

ciudad, que nos permite ver una situación un porcentaje de la población de la

ciudad alquila algún lugar para habitar, mediante este estudio nos permite

considerar la importancia de las personas que buscan u ofrecen viviendas en

alquiler, en la cual se busca aprovechar los recursos y tendencias tecnológicas

que están en el mercado, hoy por hoy, se cuenta con portales web para la

búsqueda o publicación de viviendas de manera informativa sin mostrarnos una

ubicación visual y exacta de lo que se está buscando. Así fue como surge la idea

de la implementación de una aplicación para dispositivos móviles que cubra esta

necesidad en el campo inmobiliario.

2

El presente trabajo de titulación, se estructuro en 4 capítulos los cuales son:

Capítulo I

El problema, donde se realiza el planteamiento analizándolo, situación de

conflicto nudos críticos, causas consecuencias, delimitaciones, formulación y

evaluación del problema, definiendo para su resolución un objetivo general,

varios específicos también los alcances, justificación e importancia y qué tipo de

metodología se aplicara al proyecto.

Capítulo II

Marco Teórico Referencial, aquí se contemplan los antecedentes de estudios

previos de la investigación, fundamentación teórica y legal, así mismo se

puntualizan algunas consideraciones teóricas convenientes para el abordaje de

la misma con una reflexión crítica, sus definiciones conceptuales y pregunta

científica en base al planteamiento de la solución de la problemática.

Capítulo III

Propuesta tecnológica, se pauta la metodología que será empleada para el

desarrollo e implementación del proyecto de titulación, así también el análisis de

factibilidad, operacional, técnica, legal y económica. También se desarrolla la

metodología escogida para la implementación del proyecto y se especifican los

entregables del mismo y los criterios de validación. La aplicación para

dispositivos móviles con Sistema operativo Android y un portal Web para su

administración.

Capítulo IV

Criterios de aceptación del producto o servicio, donde se mide y decide la

calidad y el rendimiento del proyecto en base a las conclusiones y

recomendaciones obtenidas a lo largo del proyecto de titulación.

8

Situación conflicto nudos críticos

El problema surge por satisfacer la necesidad de las personas que buscan la

independencia en sus vidas. Generalmente desde que se cumple la mayoría de

edad, la juventud se interesa mucho en empezar a tomar sus propias decisiones;

decisiones que involucran una carrera, una pareja, o simplemente, alejarse de

sus padres.

Por otro lado, si ya eres una persona adulta y realizada, lo que te ha permitido

tener una casa amplia con varios departamentos para alquilarlos y ampliar tus

entradas de dinero, también tienes la necesidad que las demás personas

encuentren y elijan tu casa como un lugar para vivir.

Causas y consecuencias del problema

Como causa fundamental es el crecimiento y desarrollo desmesurado de nuestra

urbe porteña Guayaquil y con tasas de ascensos en la población que conllevan

al asentamiento de invasiones y al alquiler de viviendas por parte de sus

habitantes, por tener un déficit habitacional.

Como consecuencia esta la necesidad de encontrar un lugar donde vivir que en

la actualidad se lo realiza por referencias a sus amigos, anuncios en los

periódicos locales la cual llega a generar costo y tiempo.

Delimitación del problema

Campo: Tecnología móvil

Área: Desarrollo de aplicaciones

Aspecto: Ingreso y Consulta de información

Tema: Utilización de un aplicativo móvil en la plataforma Android, la cual se

publicará y consultará información de las viviendas en alquiler que beneficiará a

todas las personas que utilicen el servicio dentro de la ciudad de Guayaquil.

9

Formulación del problema

¿Cómo una aplicación móvil de búsqueda de viviendas en alquiler podrá

beneficiar a las personas y al sector inmobiliario dentro de la ciudad de

Guayaquil?

Evaluación del problema

Delimitado: Podemos contar con una gran cantidad de usos a futuro sobre la

manipulación de registros en dispositivos móviles, pero en nuestro caso la

utilizaremos para la creación del “Buscador de Viviendas en Alquiler” y en cuanto

a los dispositivos a usar trabajaremos con simuladores de marcas reconocidas

Samsung, LG para la implementación de la aplicación.

Claro: Por medio de este documento va ser fácil entender e implementar nuevos

proyectos que puedan valerse de las bases de este desarrollo, ya que vamos a

utilizar varias tecnologías como es programación J2Me, librería grafica

características para usar Layouts, ComboBox, TablePanel.

Evidente: Los resultados del estudio podrán ser visibles a lo largo del

documento, se utilizarán cuadros estadísticos cuando sea relevante y se

documentarán las demostraciones prácticas para facilitar la comprensión.

Concreto: El usuario va a poder publicar y acceder a la información de las

viviendas en alquiler desde su celular en menos tiempo y en línea.

Relevante: Porque el uso que se le dé a la aplicación móvil hará que el sector

inmobiliario pueda mejorar sus retos y oportunidades con el fin de crear un

impacto rentable.

Original: Este tema de tesis es novedoso porque brindamos la oportunidad a las

personas de manipular la información según sea su conveniencia desde un

10

dispositivo móvil. La funcionalidad va ser fácil e intuitivo de comprender para el

usuario.

Contextual: En esta era tecnológica es imprescindible aprovechar los beneficios

que nos ofrece la misma, la cual está al alcance de nuestras manos y sin

tener que salir a ningún lado, para publicar o buscar viviendas en alquiler.

Factible: El actual proyecto es factible por los cambios tecnológicos actuales en

los dispositivos móviles, se están usando nuevas características para la interface

gráfica (Geolocalización) la cual va a permitir dar mayor flexibilidad al usuario, al

no ser una aplicación muy pesada para su dispositivo móvil.

Identifica los productos esperados: El resultado del estudio busca demostrar

de manera objetiva las capacidades de la aplicación móvil, Contrastarlo con

otras que compiten en el mismo mercado.

Variables: Tenemos las siguientes variables:

Variables Independientes: Desarrollo de una aplicación móvil de alquiler de

viviendas.

Variables Dependientes: Proceso de gestión de datos de viviendas en alquiler

cercanas a un punto de geolocalización.

OBJETIVOS

OBJETIVO GENERAL

Implementar un aplicativo para dispositivos móviles con sistema operativo

Android y Geolocalización que permita ofrecer y solicitar servicio de alquiler de

casas con ubicación exacta y a la vez sugiera las más cercanas a la ubicación

actual en cualquier parte de Guayaquil.

11

OBJETIVOS ESPECÍFICOS

Identificar los requerimientos y procesos, para publicar y buscar en

internet una casa en alquiler.

Analizar y diseñar los procesos para alquileres mediante metodología

Scrum-Bam.

Diseñar el repositorio de datos, para la publicación de alquiler de casas.

Desarrollar una aplicación para usuarios Gmail, para publicar alquileres

especificando criterios de búsqueda.

Realizar pruebas de registro y búsqueda de alquiler utilizando la Play

Store.

ALCANCES DEL PROBLEMA

El aplicativo permitirá publicar o solicitar alquileres de viviendas por medio de

sus diferentes opciones:

Opción - Registro de usuario

En esta sección se presentan las pantallas y Acceso al aplicativo usando una

cuenta de Gmail.

Opción - Búsqueda de publicaciones de alquiler de viviendas

Opción que permitirá realizar la búsqueda de viviendas en alquiler por medio de

filtros: Sector, número de cuartos, número de baños, rango de precio, garaje o

patio.

Se desplegará una lista con todas las viviendas en alquiler que cumplan

con el criterio especificado.

Se habilitará una opción para crear la ruta hasta la localización de la

vivienda seleccionada.

12

Opción para comunicarse con el oferente por medio de llamada, envió de

mensaje de texto, correo electrónico.

La cual permitirá publicar los datos de alquileres para que estén

disponibles para los solicitantes.

Opción - Mantenimiento de la publicación del alquiler de vivienda

La siguiente opción permitirá actualizar los datos de alquiler de vivienda que el

usuario público en la aplicación móvil.

Opción - Descarga de datos y ubicación de alquileres en el dispositivo

Esta opción permitirá actualizar y mostrar la información de las ubicaciones de

alquileres en el dispositivo móvil por medio del GPS.

Opción - Alertas automáticas

En este módulo se enviarán notificaciones automáticas que van a llegar por

correo electrónico cuando se ha publicado una propiedad que cumpla con los

parámetros buscados del usuario, ósea por los filtros en la opción Búsqueda:

Sector, número de cuartos, número de baños, rango de precio, garaje o patio.

Opción - Administración WEB

Este módulo permitirá a los administradores acceder desde una página web,

logearse por medio de su clave y contraseña, el cual le permitirá gestionar la

aplicación ya que contendrá vistas de reportaría y mantenimiento de

publicaciones en donde se inactivará obedeciendo a una fecha de caducidad

mayor a 3 meses.

JUSTIFICACIÓN E IMPORTANCIA

Se propone el desarrollo de una aplicación para dispositivos móviles con

sistema operativo Android y Geolocalización, el cual llamaremos “KLETA APP”,

cuyo fin es ayudará a las personas a publicar y buscar viviendas en alquiler.

13

El aplicativo permitirá visualizar las viviendas en alquiler, además según la

posición actual del interesado sugiere viviendas en alquiler que estén cercanas

a él con el GPS. Se cuenta también con una base de datos para almacenar

toda la información, la cual se encontrará configurada en un Servidor Web al

que se accede por medio de un Web Services.

Las viviendas en alquiler publicadas se presentan en el mapa donde el usuario

puede seleccionar la que más se ajuste a sus necesidades. También dispone

de la opción de enviar un mensaje personalizado o realizar una llamada

telefónica al dueño de la vivienda que publicó el alquiler. En caso de que se

desee publicar un alquiler, puede realizarlo ubicando la localización de la

vivienda en el mapa para posteriormente proceder a ingresar los datos, tales

como nombre de contacto, teléfono, correo electrónico, el sector, imágenes de

la vivienda, número de cuartos, baños, si tiene o no garaje, patio, costo del

alquiler y una observación en la cual pueda indicar alguna otra información que

crea que los demás interesados deben saber sobre la vivienda.

“KLETA APP, es una aplicación móvil que permitirá a las personas encontrar

una vivienda a donde vivir.

METODOLOGÍA DEL PROYECTO:

Para gestionar cada fase del proyecto se dispuso de la metodología Ágil de

Desarrollo de Software llamada Scrum para de esta forma alcanzar los objetivos

propuestos y llegaremos a tener un excelente producto.

Esta metodología permite trabajar a un grupo de desarrolladores de sistemas de

manera colaborativa para poder obtener un mejor resultado y minimizar los

riesgos de algún proyecto. Además el cliente puede realizar la priorización de las

actividades y recibir parcialmente avances del sistema (producto).

14

Participantes:

Product Owner: El product owner escribe buenas historias de usuarios y decide

que construir y que no y fija los criterios de aceptación.

Scrum Master: Es el facilitador de un equipo de desarrollo ágil, Es una

metodología que permite auto-organizarse equipo de trabajo y lidera las

reuniones y ayuda al equipo para cumplir el objetivo del Sprint.

Scrum Team: Integrantes que crean una forma profunda de camaradería para el

desarrollo y cumplimiento que les asigna el Product Owner.

Cliente: Es quien recibe el requerimiento final del producto y así influir en el

procedimiento, entregando sus comentarios del desarrollo.

15

CAPÍTULO II

MARCO TEÓRICO

ANTECEDENTES DEL ESTUDIO

En nuestra urbe porteña Guayaquil y Ecuador en general habitan personas que

carecen de una vivienda y optan o se ven en la necesidad de alquilar una casa,

departamento, villa o simplemente vivir con sus padres, algún familiar o conocido

que les brinde un techo en donde residir temporal o permanentemente, en

Guayaquil, una ciudad con más de dos millones de habitantes, la escasez de

vivienda representa un problema crítico que provoca el hacinamiento familiar

para muchos ciudadanos.

En la actualidad habitan muchas personas que no poseen una vivienda propia y

se ven en la necesidad de alquilar, ya sea para residir con sus familias o tener su

propia independencia cualquiera que sea el motivo, por lo general solicitan

información a conocidos, familiares de lugares en donde están alquilando una

vivienda o simplemente van a recorrer los sectores en donde están interesados

alquilar una vivienda.

Hoy en día las tendencias en el desarrollo de aplicaciones móviles están dadas

por Android estas aplicaciones desarrolladas para dispositivos móviles optan por

formas mucho más simples, colores planos y el aprovechamiento de las pantalla

táctil de los dispositivos móviles, en algunos casos dirigidos a un público muy

específico con necesidades muy concretas. Con la creciente evolución

tecnológica de dispositivos móviles en esta última década todas estas se pueden

asemejar más a modas y usos, por ejemplo, el auge los servicios de mensajería

instantánea, video-chat o las aplicaciones que integran geolocalización hasta

aplicaciones con realidad aumentada.

16

FUNDAMENTACIÓN TEÓRICA

En el presente trabajo de titulación se aplican diversos conceptos que se

detallan a continuación.

El gran libro de Android

En un estudio del libro de (Girones, 2012), habla sobre los avances de los

teléfonos móviles que están cambiando a nuestra sociedad. Así también es una

muy buena guía para internarse a programar en Android ya que en libro se

presentan ejemplos sencillos a lo largo de los capítulos, modelos para incluir

geolocalización, multimedia, servicios web entre otros temas, así también como

poder publicar en la Play Store en caso de publicar una aplicación. También nos

recomienda sobre el tema de actualizaciones que es uno de los elementos

diferenciales de Android con respecto al resto de sistemas operativos móviles en

la cual los usuarios finales terminan valorándolo.

”En los últimos años, los teléfonos móviles están transformando la forma

en que las personas se comunican. Los nuevos terminales ofrecen unas

capacidades similares a las de un ordenador personal. Un teléfono móvil

siempre está en el bolsillo del usuario, esto le convierte en un nuevo

ordenador personal del XXI. Android es la plataforma libre para el

desarrollo de aplicaciones móviles creada por Google. En la actualidad se

ha convertido en la plataforma líder frente a otras como iPhone o

Windows pone. Las aplicaciones Android están ampliando su rango de

influencia de nuevos dispositivos tales como tabletas, net-books o Google

TV.” (Girones, 2012)

17

Desarrollo Web para dispositivos móviles

En el libro reciente (Luna, 2016), la Geolocalización se refiere al posicionamiento

con el que se define la localización de un objeto en un sistema de coordenadas.

Los teléfonos móviles, computadoras y tablets acceden a la web a través de

tecnologías 4G o 3G en la cual permite triangular una ubicación mucho más

precisa de las coordenadas, lo cual ayuda a obtener un mejor resultado.

Los navegadores web actualmente incluyen una función de geolocalización, lo

cual nos ayuda a obtener las coordenadas de la posición en la que se encuentra

la estación de trabajo o equipo.

Dentro de la visión que le da el autor del libro, está el creciente cambio del

panorama móvil con la reaparición en el ámbito comercial con un diferente

formato y con las Apps Stores o tiendas de aplicaciones la cual amplia mercados

en las empresas desarrolladoras de software o a desarrolladores independientes

el cual pueden tener otro ingreso adicional.

En el libro también nos ayuda con algo de introducción de historia sobre los

sistemas operativos Windows pone, RIM, Android entre otros sistemas

operativos como para resumir nos enfocaremos en Android el cual en la

actualidad es propiedad de Google y se encuentra en su versión 4.4 Kit Kat

destaca algunas buenas prácticas en el mundo del desarrollo como ” Responsive

Web Design el cual se trata de un mecanismo que permite crear un solo sitio

web que se muestra adaptado a la plataforma desde donde accedemos. Aun así,

no siempre es conveniente aplicar esta técnica, debido a una cuestión de

performance”. (Luna, 2016).

18

Android

Es un sistema operativo basado en el núcleo Linux. Fue diseñado principalmente

para dispositivos móviles con pantalla táctil, como teléfonos inteligentes, Tablet o

teléfonos, también para Smart watches, televisores. Inicialmente fue desarrollado

por Android Inc. (Guevara Aulestia, 20113)

Android Studio

Es un entorno de desarrollo para que sea utilizado por cualquier programador,

que trabaja con un JDK que nos ayuda a mejorar el entorno de desarrollo

Android; como lo cita (Govender, 2014) en la página oficial de Android Studio lo

siguiente: “Android Studio se basa en IntelliJ IDEA, un IDE que también nos

ofrece un buen entorno de desarrollo Android”.

Base de datos

"Un sistema de base de datos es básicamente un sistema computarizado para

llevar registros. Es posible considerar a la propia base de datos como una

especie de armario electrónico para archivar: es decir, un depósito o contenedor

de una colección de archivos de datos computarizados."(C.J.Date, 2001)

Una base de datos o también conocida como DB por, es un conjunto de tablas,

las mismas que almacenan información en forma de registros. Una base de

datos está compuesta por una o varias tablas, las cuales pueden estar

relacionadas entre sí.

Entre las características principales de una base de datos tenemos las

siguientes:

Integridad de los datos.

Seguridad a accesos y registro de auditoría.

19

Redundancia mínima.

Independencia lógica y física de los datos.

Respaldo y recuperación de los datos.

Consultas complejas optimizadas.

Acceso concurrente de múltiples usuarios

De esta manera, una base de datos posee el siguiente orden jerárquico:

Tablas

Registros

Campos

Lenguaje SQL

SCRUM

Es un método de gestión de proyectos ha existido y usado con éxito durante los

últimos años y es frecuentemente usado en proyecto con un rápido cambio en

sus requisitos.

“El desarrollo de software se realiza mediante iteraciones, denominadas Sprint,

con una duración de 30 días. El resultado de cada Sprint es un incremento

ejecutable que se muestra al cliente. La segunda característica importante son

las reuniones a lo largo del proyecto, entre ellas destaca la reunión diaria de 15

minutos del equipo de desarrollo para coordinación e integración”. (Rojas, 2008)

“Es el resultado de combinar prácticas de Scrum con Kanban. Sería más

ortodoxo decir que es la combinación de Scrum (puro) con Kanban pero la

realidad es que no son muchos casos en los que organizaciones o equipos

aplican Scrum al pie de la letra y no es porque no exista voluntad de hacerlo,

sino porque la realidad de muchos proyectos lo impide”. (Rojas, 2008)

La cita anterior menciona como son realizadas las actividades en el desarrollo

en la la metodología SCRUM para la entrega de sofwtare funcional al cliente.

Los beneficios de SCRUM son: Beneficios de la metodología Scrum-Bam

20

Permite conocer en estado real el proceso de ejecución del proyecto que

introduce soluciones oportunas ante eventuales errores permitiendo un

mayor análisis de tareas realizadas con mejora la interacción entre los

miembros de un grupo en las reuniones periódicas aumentando la

productividad de proyectos complejos o multiproyectos favoreciendo una

mayor exigencia del proyecto y adaptabilidad de las herramientas.

FUNDAMENTACIÓN LEGAL

Ley de comercio electrónico, firmas electrónicas y mensajes de datos.

Artículo. 1.- Objeto de la Ley.- Esta Ley regula los mensajes de datos, la firma

electrónica, Los servicios de certificación, la contratación electrónica y

telemática, la prestación de Servicios electrónicos, a través de redes de

información, incluido el comercio Electrónico y la protección a los usuarios de

estos sistemas.

Artículo. 4.- Propiedad Intelectual. - Los mensajes de datos estarán sometidos

a las leyes, Reglamentos y acuerdos internacionales relativos a la propiedad

intelectual.

Artículo 5.- Confidencialidad y reserva. - Se establecen los principios de

confidencialidad y reserva para los mensajes de datos, cualquiera sea su forma,

medio o intención. Toda violación a estos principios, principalmente aquellas

referidas a la intrusión electrónica, transferencia ilegal de mensajes de o

violación del secreto profesional, será sancionada conforme a lo dispuesto en

esta Ley y demás normas que rigen la materia.

Artículo 9.-Protección de datos. - Para la elaboración, transferencia o

utilización de bases de datos, obtenidas directa o indirectamente del uso o

transmisión de mensajes de datos, se requerirá el consentimiento expreso del

21

titular de éstos, quien podrá seleccionar la información a compartirse con

terceros.

La recopilación y uso de datos personales responderá a los derechos de

privacidad, intimidad y confidencialidad garantizados por la Constitución Política

de la República y esta Ley, los cuales podrán ser utilizados o transferidos

únicamente con autorización del titular u orden de autoridad competente.

No será preciso el consentimiento para recopilar datos personales de

fuentes accesibles al público, cuando se recojan para el ejercicio de las

funciones propias de la administración pública, en el ámbito de su competencia,

y cuando se refieran a personas vinculadas por una relación de negocios,

laboral, administrativa o contractual y sean necesarios para el mantenimiento

de las relaciones o para el cumplimiento del contrato.

El consentimiento a que se refiere este artículo podrá ser revocado a criterio del

titular de los datos; la revocatoria no tendrá en ningún caso efecto retroactivo.

SECCIÓN OCTAVA

Ciencia, tecnología, innovación y saberes ancestrales.

Art. 385.- El sistema nacional de ciencia, tecnología, Innovación y saberes

ancestrales, en el marco del respeto al ambiente, la naturaleza, la vida, las

culturas y la soberanía, tendrá como finalidad:

a) Generar, adaptar y difundir conocimientos científicos y

tecnológicos.

b) Desarrollar tecnologías e innovaciones que impulsen la

producción nacional, eleven la eficiencia y productividad, mejoren la

calidad de vida y contribuyan a la realización del buen vivir.

22

Art. 386.- El sistema comprenderá programas, políticas, recursos, acciones, e

incorporará a instituciones del Estado, universidades y escuelas politécnicas,

institutos de investigación públicos y privados, empresas públicas y privadas,

organismos no gubernamentales y personas naturales o jurídicas, en tanto

realizan actividades de investigación, desarrollo tecnológico, innovación…

El Estado, a través del organismo competente, coordinará el sistema,

establecerá los objetivos y políticas, de conformidad con el Plan Nacional de

Desarrollo, con la participación de los actores que lo conforman.

Art. 71.- Principio de igualdad de oportunidades. -El principio de igualdad de

oportunidades consiste en garantizar a todos los actores del Sistema de

Educación Superior las mismas posibilidades en el acceso, permanencia,

movilidad y egreso del sistema, sin discriminación de género, credo, orientación

sexual, etnia, cultura, preferencia política, condición socioeconómica o

discapacidad.

Las instituciones que conforman el Sistema de Educación Superior propenderán

por los medios a su alcance que, se cumpla en favor de los migrantes el principio

de igualdad de oportunidades. Se promoverá dentro de las instituciones del

Sistema de Educación Superior el acceso para personas con discapacidad bajo

las condiciones de calidad, pertinencia y regulaciones contempladas en la

presente Ley y su Reglamento.

El Consejo de Educación Superior, velará por el cumplimiento de esta

disposición.

Ley derecho de autor y derecho conexos

Art. 5. El derecho de autor nace y se protege por el solo hecho de la creación de

la obra, independientemente de su mérito, destino o modo de expresión.

Se protegen todas las obras, interpretaciones, ejecuciones, producciones o

emisión radiofónica cualquiera sea el país de origen de la obra, la nacionalidad o

el domicilio del autor o titular. Esta protección también se reconoce cualquiera

que sea el lugar de publicación o divulgación.

23

El reconocimiento de los derechos de autor y de los derechos conexos no está

sometido a registro, depósito, ni al cumplimiento de formalidad alguna.

El derecho conexo nace de la necesidad de asegurar la protección de los

derechos de los artistas, intérpretes o ejecutantes y de los productores de

fonogramas.

Art. 6. El derecho de autor es independiente, compatible y acumulable con:

La propiedad y otros derechos que tengan por objeto la cosa material a la que

esté incorporada la obra;

Los derechos de propiedad industrial que puedan existir sobre la obra; y,

Los otros derechos de propiedad intelectual reconocidos por la ley.

Art. 10. El derecho de autor protege también la forma de expresión mediante la

cual las ideas del autor son descritas, explicadas, ilustradas o incorporadas a las

obras.

No son objeto de protección:

a. Las ideas contenidas en las obras, los procedimientos, métodos de

operación o conceptos matemáticos en sí; los sistemas o el contenido ideológico

o técnico de las obras científicas, ni su aprovechamiento industrial o comercial; y,

b. Las disposiciones legales y reglamentarias, las resoluciones judiciales y

los actos, acuerdos, deliberaciones y dictámenes de los organismos públicos, así

como sus traducciones oficiales

De los Programas de Ordenador

Art. 28. Los programas de ordenador se consideran obras literarias y se

protegen como tales. Dicha protección se otorga independientemente de que

hayan sido incorporados en un ordenador y cualquiera sea la forma en que estén

expresados, ya sea en forma legible por el hombre (código fuente) o en forma

legible por máquina (código objeto), ya sean programas operativos y programas

24

aplicativos, incluyendo diagramas de flujo, planos, manuales de uso, y en

general, aquellos elementos que conformen la estructura, secuencia y

organización del programa.

Art. 29. Es titular de un programa de ordenador, el productor, esto es la persona

natural o jurídica que toma la iniciativa y responsabilidad de la realización de la

obra. Se considerará titular, salvo prueba en contrario, a la persona cuyo nombre

conste en la obra o sus copias de la forma usual.

Dicho titular está además legitimado para ejercer en nombre propio los derechos

morales sobre la obra, incluyendo la facultad para decidir sobre su divulgación.

El productor tendrá el derecho exclusivo de realizar, autorizar o prohibir la

realización de modificaciones o versiones sucesivas del programa, y de

programas derivados del mismo.

Las disposiciones del presente artículo podrán ser modificadas mediante

acuerdo entre los autores y el productor.

Art. 32. Las excepciones al derecho de autor establecidas en los artículos 30 y

31 son las únicas aplicables respecto a los programas de ordenador.

Las normas contenidas en el presente Parágrafo se interpretarán de manera que

su aplicación no perjudique la normal explotación de la obra o los intereses

legítimos del titular de los derechos.

De la infraestructura tecnológica.

Art. 31. Para la implementación de programas con apoyo de las TICs es

obligatorio contar con equipamiento que cumpla con especificaciones técnicas

idóneas y que garantice el buen funcionamiento de los recursos informáticos.

Estos equipos, al menos deben ser los siguientes:

25

a) Aquellos donde se alojan los programas virtuales y la plataforma de

administración de los mismos (equipos de tipo servidor para

almacenamiento);

b) Aquellos recursos con los que el profesor actúa directamente

(“software”), donde realiza las diferentes actividades que requiere un

curso o asignatura; y,

c) Aquellos que el centro de educación superior debe facilitar a los

estudiantes para el acceso a la plataforma virtual (computadores con

acceso a Internet). La institución debe disponer de una red que

interconecte todos los equipos entre sí y éstos a Internet.

Art. 33. La evaluación del aprendizaje es el proceso de valoración sistemático y

continuo que permite obtener información de carácter cualitativo y cuantitativo,

respecto del desempeño, avance, rendimiento, grado de cumplimiento y logro de

los alumnos que cursen estudios en educación con apoyo de las TICs;

Condiciones del Servicio de Google Play

Para acceder a ciertos servicios de Google Play, puede que se te solicite

proporcionar información sobre ti como tu nombre, dirección, y detalles de

facturación. Las Políticas de Google explican cómo tratamos tus datos

personales y protegemos tu privacidad al usar Google Play. Aceptas que la

información que proporcionas a Google siempre será precisa, correcta y

actualizada.

Acceso no autorizado a cuentas. Debes mantener seguros tus detalles de

usuario y no debes compartirlos con nadie más. No debes recopilar ni recoger

cualquier dato personal de cualquier usuario de Google Play, incluidos los

nombres de cuentas.

26

Cuentas inhabilitadas. Si Google inhabilita el acceso a tu cuenta, puede que no

se te permita acceder a Google Play, a detalles de tu cuenta o a cualquier

archivo o a otros Productos almacenados en tu cuenta.

Productos gratuitos. Google puede permitirte descargar o usar Productos sin

costo alguno. Cualquiera de los términos y condiciones que se aplican a los

Productos comprados se aplicará a los Productos gratuitos, a excepción de los

asuntos relacionados con pagos (por ejemplo, las disposiciones relacionadas

con los reembolsos de estas Condiciones no se aplican a los Productos

gratuitos). Google puede imponer limitaciones al acceso y uso que hagas de

ciertos Productos gratuitos.

Infracción de las Condiciones de la Licencia. Si infringes cualquiera de los

términos y condiciones de las Condiciones, tus derechos bajo esta licencia

terminarán inmediatamente y Google podrá cancelar tu acceso a Google Play

Régimen Del Buen Vivir

Inclusión Y Equidad

Art. 343: “El sistema nacional de educación tendrá como finalidad el desarrollo

de capacidades y potencialidades individuales y colectivas de la población, que

posibiliten el aprendizaje, la generación y utilización de conocimientos, técnicas,

saberes, artes y cultura. El sistema tendrá como centro al sujeto que aprende, y

funcionará de manera flexible y dinámica, incluyente, eficaz y eficiente.”

(Constitución de la República del Ecuador, 2008).

Art. 344: “El sistema nacional de educación comprenderá las instituciones,

programas, políticas, recursos y actores del proceso educativo, así como

acciones en los niveles de educación inicial, básica y bachillerato, y estará

articulado con el sistema de educación superior.” (Constitución de la República

del Ecuador, 2008).

27

Preguntas Científica a Contestarse

¿Cómo lograr que las personas puedan publicar y buscar en internet sus casas

en alquiler?

¿Cómo facilitar la búsqueda de casas en alquiler, desde y en cualquier parte de

Guayaquil?

¿Cómo agilitar la comunicación entre el ofertante y el solicitante de la casa en

alquiler, logrando así que la transacción se lleve a cabo?

Definiciones Conceptuales

Android versión 4.4.2 Kit Kat.- Una nueva actualización en la que

encontrábamos mejoras estéticas, un cambio en el sistema de escritorios,

importante, pero que por dentro lleva bastantes novedades que poco a poco se

fueron desvelando y haciendo de Android 4.4 Kit Kat una versión mucho más

interesante (Rubin, 2003)

Api de Google Maps Versión Experimental.- Las API de Google Places

ofrecen acceso ilimitado a la base de datos mundial de Google para su

aplicación, con más de cien millones de fichas de empresas y lugares de interés.

(Svennerberg, 2010)

GPS (Sistema de Posicionamiento Global).- Es un sistema que permite

determinar en toda la Tierra la posición de un objeto (una persona, un vehículo)

con una precisión de hasta centímetros (si se utiliza GPS diferencial), aunque lo

habitual son unos pocos metros de precisión (Letham, 2001)

Java Versión 7.0.- “La plataforma java se distingue por el hecho de que solo se

compone de una parte de software que se ejecuta en numerosas plataformas

físicas y diferentes sistemas operativos”(Thierry Groussard, 2014)

Web Services (WSDL) Versión 2.0.-Es un protocolo basado en XML que

describe los accesos al Web Service. Podríamos decir que es el manual de

operación del mismo, porque nos indica cuáles son las interfaces que provee el

28

Servicio web y los tipos de datos necesarios para su utilización (James Snell,

2001)

SQLite Versión 3.10.2.- Es un sistema de gestión de bases de datos

relacional compatible con ACID, contenida en una relativamente pequeña

(~275 kiB) 2biblioteca escrita en C. SQLite es un proyecto de dominio público,

En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de

tamaño, y también permite la inclusión de campos tipo BLOB(Newman, 2005)

SQL Server 2012 Estándar Edition.-SQL Server es un sistema de gestión de

bases de datos relacionales (RDBMS) de Microsoft que está diseñado para el

entorno empresarial. SQL Server se ejecuta en T-SQL (Transact -SQL), un

conjunto de extensiones de programación de Sybase y Microsoft que añaden

varias características a SQL estándar, incluyendo control de transacciones,

excepción y manejo de errores, procesamiento fila, así como variables

declaradas. (Gabillaud, 2013)

Framework Symfony.- Es un completo framework diseñado para optimizar el

desarrollo de las aplicaciones web basado en el patrón Modelo Vista

Controlador. Para empezar, separa la lógica de negocio, la lógica de servidor y la

presentación de la aplicación web (Hernández, 2015)

PHP.- Es un lenguaje de programación muy potente que, junto con html, permite

crear sitios web dinámicos. Php se instala en el servidor y funciona con

versiones de Apache, Microsoft IIs, Netscape Enterprise Server y otros. La forma

de usar php es insertando código php dentro del código html de un sitio web

(Ullman, 2009)

Android Studio.- Es un entorno de desarrollo integrado (IDE), basado en IntelliJ

IDEA de la compañía JetBrains, que proporciona varias mejoras con respecto al

plugin ADT (Android Developer Tools) para Eclipse. Android Studio utiliza una

licencia de software libre Apache 2.0, está programado en Java y es

multiplataforma (Zapata, 2013)

Geolocalización.- Es la capacidad para obtener la ubicación geográfica real de

un objeto, como un radar, un teléfono móvil o un ordenador conectado a Internet.

29

La geolocalización puede referirse a la consulta de la ubicación, o bien para la

consulta real de la ubicación. El término geolocalización está estrechamente

relacionado con el uso de sistemas de posicionamiento (Gersón Beltrán, 2012)

Internet Information Services (IIS).- Es un servidor web y un conjunto de

servicios para el sistema operativo Microsoft Windows. Originalmente era parte

del Option Pack para Windows NT. Luego fue integrado en otros sistemas

operativos de Microsoft destinados a ofrecer servicios, como Windows

2000 o Windows Server 2003. Windows XP Profesional incluye una versión

limitada de IIS. Los servicios que ofrece

son: FTP, SMTP, NNTP y HTTP/HTTPS(Team, 2009)

Metodología Scrumban.-Se origina de la combinación de principios de los

métodos ágiles de gestión de proyectos en la actualidad: Scrum y Kanban. En el

principio pueden parecer iguales, estas dos estrategias de gestión tienen

diferencias al ejecutar el proyecto. Es por eso el plan Scrumban se encarga de

fusionar aquellos elementos que resultan complementarios. Un ejemplo, una de

las combinaciones más usadas en el plano empresarial, es la de gestionar con el

método Scrum las tareas previstas y con el método Kanban planificar los

errores”(Alonso Álvarez García, 2012)

Microsoft Visual Studio 2013.- Es un entorno de desarrollo integrado (IDE, por

sus siglas en inglés) para sistemas operativos Windows. Soporta múltiples

lenguajes de programación tales como C++, C#, Visual Basic

.NET, F#, Java, Python, Ruby, PHP; al igual que entornos de desarrollo web

como ASP.NET MVC, Django, etc., a lo cual sumarle las nuevas capacidades

online bajo Windows Azure en forma del editor Monaco.

Visual Studio permite a los desarrolladores crear sitios y aplicaciones web, así

como servicios web en cualquier entorno que soporte la plataforma .NET (a partir

de la versión .NET 2002). Así se pueden crear aplicaciones que se comuniquen

entre estaciones de trabajo, páginas web, dispositivos móviles, dispositivos

embebidos, consolas, etc. (Guérin, ASP.NET en C# con Visual Studio 2013,

2014)

30

Visual Studio Online.- Es un entorno que integra Team System Foundation, el

motor de aplicación de Visual Studio. Esta herramienta esta, en lo sucesivo,

disponible gratuitamente para aquellos equipos de hasta cinco personas y ofrece

una solución de gestión de código fuente perfectamente integrada en los

procesos de desarrollo.

En la primera ejecución de Visual Studio 2013, se sugiere al usuario crear o

informar una cuenta de Visual Studio Online. La puesta en marcha, que no toma

más que unos pocos instantes, requiere una dirección de correo electrónico

valida.

SDK.- son las siglas de Software Development Kit, lo que traduciéndolo a

nuestro idioma sería un Kit de Desarrollo de Software. Mediante éste kit

podemos desarrollar aplicaciones y ejecutar un emulador de la versión de

Android (o de lo que sea). En Android todas las aplicaciones se ejecutan en Java

(Ramnath, 2011)

31

CAPÍTULO III

PROPUESTA TECNOLÓGICA

Análisis de factibilidad

La aplicación móvil se basa en la visualización de viviendas en los mapas de

Google Maps, a partir de una base de datos en producción; que utiliza servicios

de API’s de Google Maps; el mismo que se declara como una aplicación factible.

En el proceso del desarrollo de la aplicación para demostrar la funcionalidad que

posee la geolocalización, se cuenta con la información recopilada de las fuentes

de información que en este caso han sido el sitio web de Google y el de

Microsoft.

Factibilidad operacional

El desarrollo de la aplicación para dispositivos móviles con sistema operativo

Android, el cual llamaremos “KALETA APP”, tiene como fin ayudar a las

personas a publicar y buscar viviendas en alquiler.

Los solicitantes y oferentes para poder ingresar a la aplicación “KLETA APP”

deben tener una cuenta activa de Gmail también deben de contar con un

dispositivo móvil, mínimo con un plan de datos básico de cualquier operadora en

el mercado ecuatoriana (Claro, Movistar, CNT, Tuenti) o una conexión a Wireless

y tener habilitado la opción de GPS en el móvil.

Sera de fácil uso para publicar viviendas en alquiler y así también la persona que

lo solicita puesto que es una aplicación intuitiva y gráficamente amigable.

32

Factibilidad técnica

Para el desarrollo de la aplicación móvil se requerirá las siguientes tecnologías

Informáticas

Cuadro 3 Tecnologías informáticas del proyecto

Tecnología Finalidad

Android versión 4.4.2 KitKat Sistema Operativo del dispositivo

Móvil.

Api de Google Maps Versión Experimental

v=2

Para georeferenciar las

direcciones de las viviendas en

alquiler

GPS (Sistema de Posicionamiento Global)

Para capturar las coordenadas

(Latitud, Longitud) de su posición

actual

Java Versión 7.0

Lenguaje de programación para

desarrollar cada característica y

funcionalidad del Aplicativo.

Web Services (WSDL) Versión 2.0

Como intermediario para

registrar y consultar los datos de

alquileres desde el dispositivo

móvil hacia la base central y

viceversa.

SQLite Versión 3.10.2

Base de datos móvil usada como

repositorio temporal de la

información de alquileres.

34

para que ellos al igual que tú, lo puedan usar también. Segundo, a la libertad de

cambiar un programa, así podrás controlarlo en lugar que el programa te controle

a ti; para esto, el código fuente tiene que estar disponible para ti.

En referencia a la utilización de “Código Libre”, tenemos en el Ecuador la

siguiente ley:

Decreto NO 1014 firmado el 10 de abril del 2008 por el Presidente del Ecuador

Rafael Correa Delgado decreta:

• Art1. Establecer como política pública para las Entidades de la Administración

Pública Central la utilización de Software Libre en sus sistemas y equipamientos

informáticos.

• Art2. Se entiende por Software Libre, a los programas de computación que se

pueden utilizar y distribuir sin restricción alguna, que permitan su acceso a los

códigos fuentes y que sus aplicaciones puedan ser mejoradas.

Estos programas de computación tienen las siguientes libertades:

a) Utilización del programa con cualquier propósito de uso común

b) Distribución de copias sin restricción alguna.

c) Estudio y modificación del programa (Requisito: código fuente

disponible)

d) Publicación del programa mejorado (Requisito: código fuente

disponible).

Factibilidad económica

La instalación y uso de la aplicación no va a tener precio alguno para la persona

que quiera hacer uso de este, ya que teniendo un plan de datos o conexión a

Wireless lo podrá descargar desde la tienda de Google (Play Store) de manera

gratuita.

38

Etapas de la metodología del proyecto

Metodología utilizada

Para la gestión del desarrollo de cada fase del proyecto se eligió de la

metodología Ágil de desarrollo de Software llamada Scrum-Bam esta forma nos

permitirá alcanzar los objetivos propuestos y llegar a tener un producto de

calidad.

Se desarrolló los siguientes puntos:

Identificación de requerimientos

Ámbito del sistema

Las viviendas en alquiler publicadas que se presenten en el mapa donde el

usuario podrá seleccionar la que más se ajuste a sus necesidades. También

dispondrá de la opción de enviar un mensaje personalizado o realizar una

llamada telefónica al dueño de la vivienda que publicó el alquiler. En caso de que

se desee publicar un alquiler, puede realizarlo ubicando la localización de la

vivienda en el mapa para posteriormente proceder a ingresar los datos, tales

como nombre de contacto, teléfono, correo electrónico, el sector, imágenes de la

vivienda, número de cuartos, baños, si tiene o no garaje, patio, costo del alquiler

y una observación en la cual pueda indicar alguna otra información que crea que

los demás interesados deben saber sobre la vivienda.

Durante la investigación hemos seleccionado las variables que son parte

fundamental del proyecto a continuación hablaremos de cada una de ellas:

39

Coordenadas de Puntos de GPS. Para localizar un punto sobre la

superficie de la Tierra y trasladarlo en un mapa, es necesario

conocer primero las coordenadas donde se encuentra ubicado

ese punto, es decir, la latitud y la longitud. Conocer el valor de las

coordenadas es imprescindible para poder ubicar la posición de la

vivienda.

Información recopilada en Base de Datos. Los valores conocidos

como latitud, longitud y de más información que será enviada por

la aplicación y serán recibidos y almacenados en tiempo real en el

servidor de la base de datos SQL Server.

Herramienta Web para la administración de las publicaciones con

la cual se interpretará la información de las coordenadas y otros

parámetros almacenados en la base de datos para la

manipulación y visualización en los mapas de Google Maps.

Lista de requerimientos

Contiene las funcionalidades del producto las funciones están listadas según las

prioridades del negocio.

40

Cuadro 7 Requerimientos del proyecto

Id Requerimiento Descripción Pr. Es. Srinpt

R01

Preparación

Servidor Publico

Preparación de Ambiente del

Servidor y creación de base de

datos para Servicio Web

10 6 1

R02 Implementación

de Servicio Web

Implementación y Publicación

de Servicio Web 10 36 1

R03 Arranque del

Sistema

Inicialización del sistema,

preparando el ingreso 9 2 2

R04 Registro de

Usuario

Registro de datos personales

para saber que es un usuario

real

9 12 2

R05 Ingreso al

Sistema

Ingresar credenciales (usuario

y clave) para tener acceso al

sistema

8 6 2

R06

Conexión

Google Maps

Api con Android

Investigación e

Implementación Google Maps

Api en Android.

8 24 2

R07 Pantalla de

Mapa Visualización de Google Maps 7 2 2

R08 Geolocalización

Visual en Mapa

Mostrar punto de

Geolocalización en mapa, vía

GPS

7 4 2

R09 Descarga de

Datos

Descarga de Datos desde el

Servicio Web, Presentación de

Datos de Alquiler en Mapa,

con coordenadas exactas.

6 12 3

R10 Búsqueda de

Datos

Consulta de datos mediante

filtros, como número de

habitaciones, baños, garaje,

patio.

5 15 3

49

Configuración del Web Services

El Web Services será publicado sobre un servidor Windows Server 2012 que

tenga instalado el Internet Information Service 6.0

Configuración de la Base de datos

La base de datos que se usará para el proyecto es SQL Server 2012 que estará

instalada sobre un servidor Windows Server 2012.

Blacklog SCRUM

Para llevar un control eficaz de las tareas del proyecto se usa una plataforma

web llamada Visual Studio Online que permite ver las actividades que se tienen

pendientes, en proceso y las finalizadas (Ver Gráfico 8).

59

Entregables del proyecto

Lo siguientes entregables de la aplicación tenemos:

- Manual Técnico

- Manual de Usuario

- Código Fuente

- Video de uso de la App

CRITERIOS DE VALIDACIÓN DE LA PROPUESTA

Técnica de Caja Negra

Cuadro 34 Caso de Prueba - CP01

Caso de Prueba: CP01 Autores:

Andrés

Loor

HU001 y HU002

Miguel

Morocho

Propósito:

Cuando se establece la conexión al Servicio Web

Cuando se ejecuta la aplicación

Descripción de las acciones y/o condiciones para las pruebas

N.- Acciones Salida Esperada Salida Obtenida

1

Ingresar a la aplicación móvil

sin disponer de una conexión

a internet.

La aplicación móvil

solo muestra la

pantalla Google

Sign-In Quickstar

La aplicación

móvil solo muestra

la pantalla Google

Sign-In Quickstar

2

Ingresar a la aplicación móvil

disponiendo de una conexión

a internet activa y disponible

La aplicación

continúa con su

curso.

La aplicación

continúa con su

curso.

77

CAPÍTULO IV

Criterios de aceptación del producto o servicio

Para llevar a cabo la ejecución del proyecto de titulación se presenta la siguiente

matriz como verificación de aceptación del producto de acuerdo a la metodología

que se utilizó, técnica de caja negra en la cual en primera instancia, cumple la

función de pruebas de software, mediante casos de prueba cuya función es

certificar su correcto funcionamiento.

Con esta técnica, logramos entonces la construcción de casos prueba por cada

entrada posible, que cubren los aspectos esperados de una prueba de

certificación de software.

La matriz de verificación presentada como criterio de aceptación en base a los

casos de pruebas realizados constituye una técnica fiable para la obtención de la

salida esperada.

78

Cuadro 42 Matriz de aceptación

CRITERIOS PONDERACIÓN

CP01

Cuando se establece la conexión al Servicio Web

100%

Cuando se ejecuta la aplicación 100%

CP02

Cuando se inicia sesión en la App 100%

CP03

Cuando se cargan los mapas de Google 100%

Cuando se navega en los mapas de Google

CP04

Cuando se descargan los datos de viviendas en

alquilerCP05 100%

CP05

Verificar que los criterios de búsqueda que filtran los

datos de alquileres de viviendas muestren la

información completa. 100%

CP06

Verificar que se cree una ruta hasta la localización

de la vivienda deseada. 100%

79

CP07

Verificar los medios de contactar al oferente a través

de la integración de llamadas desde la aplicación y

envío de corro o mensaje de texto. 100%

CP08

Verificación de la publicación de una vivienda en la

aplicación 100%

Elaboración: Andrés Loor – Miguel morocho

80

CONCLUSIONES

Como resultado de la implementación de nuestra aplicación en la Play Store, se

concluye que se tiene a disposición un software 100% gratuito subido a la tienda

virtual Play Store para su descarga y uso en dispositivos móviles con sistema

operativo Android:

Brindará las siguientes facilidades:

Se identificaron proceso de publicación y búsqueda de vivienda a través

del análisis de estudio de documentos publicados en el INEC (Instituto de

estadísticas y Censos) y encuesta realizada en el proyecto de titulación

que usuarios con cuenta Gmail y Smartphone con plan de datos buscan

vivienda con los siguientes criterios; Sector, numero de cuartos, numero

de baños, rango de precios, patio y garaje.

Para el análisis y diseño de la aplicación móvil se utilizó la metodología

Scrum-Bam que a través de los Sprint una metodología ágil y rápida se

completó el desarrollo del proyecto.

Se utilizó un Servidor Web y Base de datos SQL Server 2012 para

almacenar la información publicada por el usuario. Un administrador

genera reportes y da mantenimiento a las publicaciones de los usuarios

que descargan y utilizan la APK.

La aplicación “Kleta App”, con tecnología Java para Android, está dirigida

a usuarios que solo poseen cuenta GMAIL.

En base a la matriz de aceptación del producto y validaciones realizadas

de pruebas de caja negra por usuarios, descargando la aplicación desde

la Play Store y realizando publicaciones y búsquedas realizadas para la

validación de la aplicación se concluye que tiene una aceptación del

100%.

81

RECOMENDACIONES

Se recomienda el uso de la aplicación a todos los usuarios que tengan cuentas

Gmail integradas a la Play Store o en sus dispositivos móviles además que

cuenten con GPS, para su correcto funcionamiento y aprovechar al máximo las

ventajas de la aplicación “Kleta App”, extendemos las siguientes

recomendaciones:

Registrar la aplicación, solo con cuentas de correo electrónico Gmail.

Utilizar solo teléfonos con sistema operativo Android superior a 4.5.

Utilizar teléfonos con GPS integrado y habilitado.

Utilizar teléfono con plan de datos o conectado al Wifi con acceso a

internet.

Para contactar al oferente vía mensaje de texto y llamadas, se debe tener

saldo telefónico.

Para contactar al oferente vía correo electrónico, se debe tener acceso a

internet vía Wifi o con plan de datos.

82

BIBLIOGRAFÍA

Alonso Álvarez García, R. d. (2012). Métodos Ágiles y Scrum. Anaya Multimedia.

C.J.Date. (2001). Introducción a los Sistemas de Bases de Datos.

Gabillaud, J. (2013). SQL Server 2012 - SQL, Transact SQL: Diseño y creación

de una base de datos. Ediciones ENI.

Gersón Beltrán, G. B. (2012). Geolocalización y Redes Sociales. Bubok.

Girones, J. T. (2012). El gran libro de Android. Barcelona: Marcombo S.A.

Govender, S. (18 de Junio de 2014). Comenzando con Android Studio.

Recuperado el 1 de Agosto de 2016, de Comenzando con Android

Studio: http://code.tutsplus.com/es/tutorials/getting-started-with-android-

studio--mobile-22958

Guérin, B.-A. (2014). ASP.NET en C# con Visual Studio 2013. Ediciones ENI.

Guérin, B.-A. (2014). ASP.NET en C# con Visual Studio 2013: diseño y

desarrollo de aplicaciones web. Ediciones ENI.

Guevara Aulestia, D. O. (20113). Aplicación móvil utilizando plataforma Android

para mejorar la calidad del servicio de consulta de información de

consumo eléctrico de la EEASA en la Empresa Besixplus Cia. Ltda.

Ambato: Universidad Técnica de Ambato.

Hernández, M. T. (2015). Symfony Framework. Desarrollo Rápido de

Aplicaciones Web.IT Campus Academy.

James Snell, D. T. (2001). Programming Web Services with SOAP. O'Reilly

Media, Inc.

83

Letham, L. (2001). GPS fácil. Uso del sistema de posicionamiento global.

Editorial Paidotribo.

Luna, F. (2016). Desarrollo web para dispositivos móviles. Buenos Aires,

Argentina: RedUsers.

Michał Ćmil, M. M. (2014). Java EE 7 Development with WildFly. Packt

Publishing Ltd.

Newman, C. (2005). SQLite. Sams.

Ramnath, R. (2011). Android 3 SDK Programming For Dummies. John Wiley &

Sons.

Rojas, O. D. (2008). Metodologia SCRUM.

Rubin, A. (2003). http://www.saberia.com/2014/02/quien-invento-android/.

Svennerberg, G. (2010). Beginning Google Maps API 3. Apress.

Team, M. I. (2009). Internet Information Services (IIS) 6 Resource Kit.Microsoft

Press.

Ullman, L. (2009). Php: paso a paso. Anaya Multimedia-Anaya Interactiva.

Zapata, B. C. (2013). Android Studio Application Development.Packt Publishing

Ltd.