Source: https://www.scribd.com/doc/172121231/Proyecto-Residencia-ING
Timestamp: 2016-07-28 04:58:11+00:00

Document:
Proyecto Residencia ING
UploadSign inJoinBooksAudiobooksComicsSheet MusicEditors' Picks BooksHand-picked favorites from our editorsEditors' Picks AudiobooksHand-picked favorites from our editorsEditors' Picks ComicsHand-picked favorites from our editorsEditors' Picks Sheet MusicHand-picked favorites from our editorsTop BooksWhat's trending, bestsellers, award-winners & moreTop AudiobooksWhat's trending, bestsellers, award-winners & moreTop ComicsWhat's trending, bestsellers, award-winners & moreTop Sheet MusicWhat's trending, bestsellers, award-winners & moreCategoriesArts & IdeasBiography & MemoirBusiness & LeadershipChildren'sComputers & TechnologyCooking & FoodCrafts & HobbiesFantasyFiction & LiteratureHappiness & Self-HelpHealth & WellnessHistoryHome & GardenHumorLGBTMystery, Thriller & CrimePolitics & EconomyReferenceReligionRomanceScience & NatureScience FictionSociety & CultureSports & AdventureTravelYoung AdultCategoriesArts & IdeasBiography & MemoirBusiness & LeadershipChildren'sComputers & TechnologyCooking & FoodFantasyFiction & LiteratureHappiness & Self-HelpHealth & WellnessHistoryHome & GardenHumorLGBTMystery, Thriller & CrimePolitics & EconomyReferenceReligionRomanceScience & NatureScience FictionSociety & CultureSports & AdventureTravelYoung AdultCategoriesAdaptationsChildren’sCrime & MysteryFictionHumorMangaNonfictionRomanceSciFi, Fantasy & HorrorSuperheroesYoung AdultPublishersArcanaArchie ComicsBOOM! StudiosDynamiteIDW PublishingKingstone ComicsMarvel ComicsSpace Goat ProductionsTop Cow ComicsValiant ComicsZenescopeDifficultyBeginnerIntermediateAdvancedMixedInstrumentBrassDrums & PercussionGuitar, Bass, and FrettedPianoStringsVocalWoodwindsGenreClassicalCountryFolkJazz & BluesMovies & MusicalsPop & RockReligious & HolidayStandardsWelcome to Scribd! Start your free trial and access books, documents and more.Find out moreINSTITUTO TECNOLOGICO DE LA LAGUNAIngeniería en Sistemas Computacionales
Oscar Gilberto Medina Cruz 08131305
Agradecer y dedicar todo este trabajo y esfuerzo primeramente a mis padres, por haber sido el eslabón fundamental en mi carrera, ya que sin su apoyo, sus consejos, sin su comprensión y dedicación hacia mi, no hubiera logrado lo que soy hoy en día, además de ser quienes sin importar lo que estuviera pasando ni lo difícil que se tornara mi vida a lo largo de mi carrera, siempre estuvieron ahí para apoyarme. Gracias por todo su amor, dedicación, apoyo moral y económico, gracias por su paciencia y por su fe en mí. Gracias por hacer de mi la persona, y sobre todo el profesionista que hoy soy, y llegar a ser lo que algún día creí inalcanzable. A mi novia, que sin su apoyo en los momentos más difíciles, sin su comprensión y sobre todo sin su ayuda, me hubiera sido más difícil conseguir mis metas y alcanzar lo que anhelo. Gracias por los momentos buenos y los malos a tu lado, y gracias por creer en mí y en mis habilidades, gracias por ayudarme a resolver mis dudas y problemas, y sobre todo gracias por estar ahí cuando más lo necesito, hacerme crecer como ser humano, y como profesionista. A todos los que han estado conmigo en los buenos y en los malos momentos, que sin importar lo mal que estuviera, y lo poco que los tratara y comprendiera, me han apoyado a terminar mis metas. A mis maestros, que sin su conocimiento no hubieran sembrado en mi este espíritu de aprender cada día mas y mas, gracias por aportarme todos esos conocimientos y experiencias. A mi asesor de residencia profesional, el jefe de departamento de sistemas, por apoyarme a lo largo de mi carrera y brindarme algunas de las herramientas que necesitare a lo largo de mi vida profesional. Gracias a todos los que se han interesado e involucrado a lo largo de mi carrera para hacer de mi lo que hoy en día he logrado, por sembrar y acrecentar en mi, la responsabilidad, honestidad. Y sobre todo por ayudarme a ser el profesionista que siempre he querido llegar a ser.
Capitulo 1. CloudSourceIT
1.1 Introducción. 1.2 Historia de la empresa. 1.3 Organigrama de la empresa. 1.4 Giro empresarial y ubicación de la empresa. 1.5 Misión, Visión y Políticas de la empresa. 1 1 2 3 3
Capitulo 2. Generalidades del área de desarrollo móvil.
2.1 Introducción. 2.2 Funciones del departamento. 2.3 Políticas de seguridad. 2.4 Organigrama del departamento. 2.5 Problemas a resolver. 2.6 Justificación. 2.7 Objetivo general. 2.8 Objetivos específicos. 4 4 4 4 5 5 5 5
Capitulo 3. Desarrollo de aplicaciones comerciales para móviles.
3.1 Introducción. 3.1.1 Milenio Impreso. 3.1.2 Bugs Milenio 3.1.3 BanRegio. 3.1.4 Aplicación VolksWagen. 3.2 Marco teórico. 3.2.1 Introducción. 3.2.2 Descripción de herramientas. Java EE. Java JDK. Eclipse Java EE IDE.
6 6 7 7 8 9 9 9 9 10 10 11 11 12 13 13 14
SDK Android. Instalación SDK Android. Integración de SDK Android con Eclipse.
3.2.3 Crear un nuevo proyecto en Eclipse.
Falta incluir “Radio” y “A Tiempo” en “Más contenidos Locales”. Faltan ediciones con “A Tiempo” en “Mas Contenidos Locales” e integración de funcionalidad de “Impreso” en la misma. Cambiar “PullToReload” por actualizar en botón menú. Al ingresar firmas desde “Mas contenidos locales” el filtrado esta incorrecto.3 Procedimiento y descripción de las aplicaciones desarrolladas. Desarrollo de la aplicación.3. Leer PDF como en iOS. Diseño de aplicación.
Cambiar diseño. Resaltar icono “Elige una edición”
18 19 20 20 24 25 25 26 26 27 27 28 28 29 31 31 31 32 32 32 33 33 34 34 35 35 36 37 38 39 40 41 41 42 43 43 43 44 46
3. Agregar el menú inferior. Menú de secciones no se despliega en pantalla principal.1 Descripción de la aplicación: Milenio Impreso.
Agregar el botón “Borrar”. Segunda versión.
Cuarta versión. Cambiar colores varios.
Menú con diseño final.2 Descripción del proyecto: Bugs Milenio. Al cargar firmas después de haber presionado home el menú superior no cambia. En foto galerías el Dropdown.
Integración de Impreso a Milenio
Agregar el menú superior. Templates de portada.
Tercera versión. el filtrado esta incorrecto. Se repiten las fotos del carrusel en el listado.3. Swipe de noticias se pasa a la última muy rápido. Cambiar dialogo de carga de ediciones. Menú inferior no aparece al entrar por segunda vez en “La Afición”.
Texto en botón “Descargar” Diseño de ediciones descargadas. Compresión de imágenes. Tratar imágenes de portada.
Cambiar lista de edición a un Popup. 3.
Cambio de ubicación de botón archivo.3. Mostrar progreso de descarga sobre el mismo botón.
Conclusiones y recomendaciones. Modificaciones a sección de GPS. Diseño de la aplicación. Lector de código de barras. Cambios en la aplicación. Cambios en la aplicación. Modificaciones a tipografía. Modificaciones a pantalla de inicio. Modificaciones por resolución de imágenes.3. Modificaciones por alineación de textos. Desarrollo de sección “Marketplace”.5 Descripción de proyecto: Aplicación VolksWagen Desarrollo del proyecto
3. primera versión. Impreso. Desarrollo de sección “Portada”. Aplicación VolksWagen. Evaluación residencia.4 Alcances y limitaciones de las actividades.3.5 Resultados obtenido. Impreso. BanRegio Aplicación VolksWagen. Desarrollo de sección “Configurador”. Bugs Milenio. Bugs Milenio. 3. Glosario de términos. segunda versión. Desarrollo de sección “Página Web” . Cambios en la aplicación. 3. Modificaciones a la barra de búsqueda. primera versión. Modificaciones por marcador de mapa.
3.3 Cambio de asesor. Modificaciones a pantalla de inicio.
Monitor Financiero.
45 46 47 47 48 49 50 50 50 51 52 52 52 53 53 54 54 54 55 55 55 56 56 56 57 57 57 57 58 58 58 58 59 59 59 59 59 59 60 60 64
. Modificaciones a marcador de teléfono. Bibliografía Carta de terminación.3. quinta versión. Desarrollo de sección “Concesionarios”. Desarrollo de sección “Dashboard”. tercera versión. Lector de código de barras.4 Descripción de proyecto: BanRegio. cuarta versión.3. segunda versión. BanRegio. Desarrollo del proyecto.
1 Logotipo de la empresa
Fig. desarrollo de software y staffing. de R. brindando soluciones personalizadas y a la medida de las necesidades del cliente. también se cuenta con servicios de TI en la nube para la comunicación y actualización de información en los dispositivos móviles.L.V
.2 Historia de la empresa
La empresa nace en enero del 2010. Aprovechando el crecimiento y demanda del mercado con los dispositivos móviles. nos dimos a la tarea de ofrecer al mercado creciente del área mencionada.Instituto Tecnológico de la Laguna
Oscar Gilberto Medina Cruz
08131305
1. administración de proyectos.1 Introducción
CloudSourceIT es una empresa dedicada al desarrollo de productos móviles complementados con servicios de TI en la nube y staffing. Somos Socios fundadores con más de 7 años de experiencia en TI. Somos una empresa en expansión y creciente demanda en cuanto a nuestro trabajo se refiere. como una empresa especializada en el desarrollo de productos y soluciones móviles integrando metodologías de innovación y diseño de interfaces avanzado.
Sistemas Integrados en la Nube S. de C.
Sistemas Integrados en la Nube S. de C.V
.3 Organigrama
Brenda Larrión BD Cancún
Ana Gaby Game Development
Miguel Cruz Director CloudHealtIT
Cesar Dominguez iPhone Developer
Daniel García Director Querétaro
Carlos Palacios iPhone Developer
Luis Rabbe Lead Developer
Alejandro Martínez Web Developer Rudy Ibarra Design UX/UI Stella Jimenez Design UX/UI Gerardo Arellano Design UX/UI
Gustavo García CEO Board CloudSourceIT
Gerardo Robles iPhone Developer
Alejandro Rosales Testing
Jorge Olivares iPhone Develper
CloudSourceIT Launa
Gerardo Arellano Android Developer
Jorge Suarez Director CloudSourceIT Occidente Arturo Granados Director USA
Oscar Medina Android Developer
Arturo Caballero Director CloudTravelIT
Fig.L.Instituto Tecnológico de la Laguna
1. de R.
como lo son:      Monterrey Torreón Guadalajara Querétaro Cancún
Y también en el extranjero:  McAllen (USA)
Giro de la empresa: Desarrollo de software para dispositivos móviles.5 Misión. 3 Ubicación de la empresa.V
1.Instituto Tecnológico de la Laguna
1. de C. visión y políticas de la empresa
Se están redefiniendo por el crecimiento y adopción de nuevos nichos de la empresa.L.
Sistemas Integrados en la Nube S. de R.4 Giro empresarial y ubicación de la empresa
CloudSourceIT se encuentra ubicada en distintas partes de la republica Mexicana.
en nuestro caso. de C. de R. proponer e implementar las tecnologías necesarias para elaborar nuevos proyectos.Instituto Tecnológico de la Laguna
2.4 Organigrama del departamento
Gustavo García CEO
CloudSourceIT Laguna
Jorge Olivares iPhoneDevelop er
Gerardo Arellano Android
. 4 Organigrama del departamento
Sistemas Integrados en la Nube S.2 Funciones del departamento
Las funciones del departamento de desarrollo se basan principalmente en el desarrollo de software a la medida del cliente. Un cliente puede llegar y contratar los servicios de la empresa. proponiendo nuevas ideas y desarrollando las que cualquier empresa o negocio tenga en mente. integrando la tecnología móvil que hoy en día es primordial en la vida cotidiana. el de desarrollar aplicaciones para móviles.
2. y la empresa asigna el proyecto al departamento correspondiente. Así pues se aprovecha el campo de las tecnologías móviles para expandirse y darse a conocer.L.1 Introducción
Generalidades del área de desarrollo móvil
El Área de Desarrollo Móvil es la responsable de desarrollar.3 Políticas de seguridad
Se están redefiniendo por el crecimiento y adopción de nuevos nichos de la empresa.
2. resolviendo errores o fallas. así como mejorar el funcionamiento de las aplicaciones ya desarrolladas con anterioridad.6 Justificación
El motivo por el que se crean proyectos como los que se mencionan a continuación.L. de C. Ofrecer al cliente una aplicación completa y funcional. con la usabilidad y acceso que dan los dispositivos móviles con el mundo exterior. y facilitar el acceso desde un dispositivo móvil. Coordinar y organizar al equipo de una manera optima. la competencia por abarcar el mercado es muy difícil. es aprovechar el creciente mercado de los dispositivos móviles y sus ventajas para la expansión del mercado.V
. encontrar errores y así poder ofrecer al cliente una aplicación funcional y completa.8 Objetivos específicos
      Desarrollar las aplicaciones según lo especificado.
Sistemas Integrados en la Nube S. Realizar un código fuente óptimo y funcional.5 Problemas a resolver
Desarrollar nuevas aplicaciones en el campo de las tecnologías móviles. haciendo que sus objetivos y expectativas se cumplan. Implementar pruebas a las aplicaciones. es prácticamente indispensable para todo empresario darse a conocer por este medio. Administrar las tareas a los diferentes desarrolladores. El mundo actual. de R. de quien solicite nuestros servicios. sin embargo.7 Objetivo general
Desarrollar aplicaciones funcionales para objetivos específicos o generales en el campo de las tecnologías móviles.
2. Así como expandir el mercado e ingresos de las empresas que soliciten nuestros servicios. Ayudar y animar al equipo en sus diferentes tareas. Mejorar el funcionamiento de las aplicaciones ya implementadas. proporcionándoles una aplicación innovadora y con excelentes características.
y dar mantenimiento a nuevas y ya creadas aplicaciones para los dispositivos móviles. El usuario ve en la pantalla las últimas siete portadas del diario. estaba incompleta. Una vez descargada el usuario puede seleccionar entre leerla.
Sistemas Integrados en la Nube S. Para crear.1 Milenio impreso
La aplicación con la que contaba hasta el momento Grupo Milenio. complementar. ir a otras ediciones o ver el archivo. se realizaron durante el periodo de mi residencia dentro de la empresa. en este caso.1. se le aplicó constante revisión y pruebas. mostrándole el progreso de la descarga al usuario. rediseñar. las cuales cuenten con Milenio Diario. el usuario puede seleccionar entre una lista de ediciones. mostrando la opción de leerla o borrarla. cargando por default las portadas de la edición Nacional del mismo. de C.
3. comparando con los resultados que esperaba para la aplicación Grupo Milenio. clasificadas por estado de la republica mexicana. para cada una ofreciéndole la opción de descargarla en formato PDF.1 Introducción
El desarrollo de las aplicaciones que a continuación se explicaran. descargar otra edición. de los dispositivos con el sistema operativo Android. mostrando la opción de cancelar la misma.V
.L. la cual consistía en consultar un servicio web que contaba con la información suficiente para que el usuario pudiera leer la edición del diario que mas le gustara.Instituto Tecnológico de la Laguna
Desarrollo de aplicaciones comerciales para móviles. que seria una sección donde se puede ver un listado de las ediciones que ya se han descargado. Durante el transcurso de desarrollo de esta sección de la aplicación. Lo siguiente es una introducción de cada uno de los proyectos manejados durante la realización de mis prácticas profesionales en la empresa CloudSourceIT. para que el resultado final fuera exitoso. de R. En esta parte. ya que ofrecía una función la cual no estaba implementada.
Esta parte del proyecto. mis asesores corroboraban que ya no existiera tal. de R. que contenía datos como. El fin de esta sección del proyecto era mostrar al usuario. plata y centenario. según los usuarios que ya habían descargado la aplicación a su dispositivo. precio de compra venta del dólar. CETES.1. de C. un pequeño menú en la pantalla de inicio. junto con otro compañero de la empresa. estaba ya disponible para la descarga en “Google Play” (la plataforma en internet oficial para la descarga de aplicaciones para este sistema operativo). y que el desempeño de la misma fuera optimo en todos los dispositivos. Cada vez que solucionaba un problema. se adaptó a la aplicación móvil de Milenio.3 Banregio
Esta aplicación fue la primera que se me asigno. la complejidad. del euro. la prioridad de cada error.Instituto Tecnológico de la Laguna
Se realizaron pruebas en diferentes dispositivos móviles. Al finalizar el desarrollo de esta aplicación. el cual ya tenía empezado el proyecto. en donde veía información como precio de compra venta del dólar y euro. consistía básicamente en leer la información de un servicio web. el estado.V
. contaba con muchos errores. valor de metales como el oro.2 Bugs milenio
La aplicación con la que contaba Grupo Milenio para el sistema operativo Android. y una descripción sobre como ocurría. en donde el usuario pudiera dar un toque (tap) y acceder a una interfaz agradable en donde pudiera visualizar toda la información antes
Sistemas Integrados en la Nube S. TIIE etcétera.L. mi siguiente proyecto seria corregir estos errores o “bugs” con los que la aplicación tuviera problemas. Una vez revisada esta parte.
3. sin embargo. se procede a la corrección de errores en la aplicación Milenio. Una vez que concluyera el desarrollo e implementación de “Impreso Milenio” (que de igual forma es parte de la aplicación ya lanzada por Milenio). Estos “bugs” me serian asignados (al inicio) uno a uno. para probar la adaptación de la resolución de esta sección. con una funcionalidad exitosa. sin embargo después se me fueron asignados en la plataforma “Trello” en donde podía ver yo. y una vez que ya no se diera en ningún dispositivo. se daba por solucionado.1. para que no contenga ningún error.
3. entonces me asigno la tarea de desarrollar una parte del proyecto llamada “Monitor financiero”.
la cual consistía en agregar un lector de código de barras. pide una aplicación con requerimientos específicos. pagina web. Algunas de ellas consisten en las siguientes. a la aplicación. Una vez concluido el desarrollo de “Monitor Financiero” en esta aplicación. Abrir una pagina de internet. y ubicar la más cercana a la posición del usuario: en esta parte de la aplicación el usuario podrá ver en pantalla un listado de las concesionarias de todo el país.Instituto Tecnológico de la Laguna
mencionada. Otro apartado de esta sección es geo localizar las concesionarias mas cercanas a la posición actual del usuario. En ambas secciones se le proporciona al usuario una barra de búsqueda con la cual puede encontrar una concesionaria en específico rápidamente. la cual consistía en permitirle al usuario diversas funciones. decidieron cambiarme de proyecto.
Sistemas Integrados en la Nube S.   Ver la página oficial de esta conocida empresa: en esta sección se visita la página oficial de VolksWagen. Acceder a la aplicación desarrollada por ellos mismos (aun en desarrollo) desde ésta. e incluso mostrar en la pantalla la ubicación exacta de la concesionaria. teléfono. y ya que la información era extraída de un servicio web.
3. VolksWagen. la cual te permite diseñar a tu gusto tu automóvil.4 Aplicación VolksWagen
El cliente. la información se mantenía al día.L. mostrando la distancia a la que se encuentra de ella y todos los datos antes mencionados.V
. También se muestra información. pero mantenerme al tanto de lo que pudiera realizar en el proyecto Banregio. se me asigno el proyecto de los “Bugs de Milenio”. además de tener acceso a sus datos como. se pensaba compartir todo el desarrollo del mismo. sin embargo. de R. por medio de Google Maps. Fue entonces que se me pidió otra parte de este proyecto. En este punto. para que el cliente pudiera leer códigos de barras y poner su contenido en un campo. Ver las concesionarias de todo el país. de C. para ver lo que hay de nuevo en cuanto a autos de esta compañía se refiere. como que tipo de autos tienen disponibles. con la urgencia con la que Grupo Milenio necesitaba terminar su aplicación.1.
2. tales como JDBC. y define cómo coordinarlos. solo hay que saber como usarlas y como obtener el máximo beneficio de ellas. Otros beneficios añadidos son.2. significando que los desarrolladores pueden concentrarse más en la lógica de negocio de los componentes en lugar de en tareas de mantenimiento de bajo nivel.V
. Java EE es también considerada informalmente como un estándar debido a que los proveedores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE.
Sistemas Integrados en la Nube S.
3.Instituto Tecnológico de la Laguna
3. por ejemplo. JMS. Similar a otras especificaciones del Java Community Process. etc. A continuación se va a presentar un listado de las herramientas necesarias para el desarrollo de una aplicación móvil en el sistema operativo Android. RMI.1 Introducción
Todo proyecto necesita herramientas. estandarizado por The Java Community Process / JCP. y usarlas de manera adecuada como herramientas de trabajo. servlets. portlets (siguiendo la especificación de Portlets Java). Java EE también configura algunas especificaciones únicas para Java EE para componentes. XML. concurrencia y gestión de los componentes desplegados. Es indispensable conocer lo que nos rodea. la seguridad. Java EE tiene varias especificaciones de API. conocer las herramientas que se nos proporcionan. de C. Permite utilizar arquitecturas de N capas distribuidas y se apoya ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. Java EE
Java EE (Java Enterprise Edition). Estas incluyen Enterprise JavaBeans. en este caso. La plataforma Java EE está definida por una especificación. escalabilidad. JavaServer Pages y varias tecnologías de servicios web. de R. saber como funcionan. Ello permite al desarrollador crear una Aplicación de Empresa portable entre plataformas y escalable.L. Servicios Web. email. es una plataforma de programación para desarrollar y ejecutar software de aplicaciones en el lenguaje de programación Java. a la vez que integrable con tecnologías anteriores. que el servidor de aplicaciones puede manejar transacciones.2 Descripción de herramientas.2 Marco teórico 3. y en el mundo actual todo esta al alcance de nuestras manos.
usando el lenguaje de programación Java.Instituto Tecnológico de la Laguna
Sistemas Integrados en la Nube S. Eclipse es un IDE (entorno de desarrollo integrado) de código abierto y multiplataforma que de forma más popular está enfocado al desarrollo de aplicaciones Java. El JDK incluye herramientas indispensables para desarrollar y probar programas escritos en el lenguaje de programación Java y ejecutarlos en la plataforma de Java.html
Considerado por muchos como la mejor herramienta de desarrollo Java disponible.
Java JDK (Java Development Kit) es un entorno de desarrollo para construir nuestras aplicaciones. el Eclipse IDE para Java EE Desarrolladores Java proporciona una superior edición con la compilación incremental. Si no tenemos instalada en nuestra computadora ninguna versión de Java JDK. Eclipse es una colección de proyectos de código abierto que fue construido en el Equinox OSGi en tiempo de ejecución. las herramientas de gestión de bases. de R. La capacidad de extenderse como herramienta de desarrollo en otros lenguajes está en los diferentes plugins que podemos instalarle para poder trabajar con él. pero ahora se ha cubierto lenguajes estáticos y dinámicos. aparte de descargarnos el SDK de Android . y sobre todo que su uso y distribución es gratis.). el auge de uso del uso de Java para la amplia gama de servicios que ofrece. Así.com/technetwork/java/javase/downloads/index. si queremos empezar a desarrollar en Android lo que tendremos que hacer. y el apoyo a más popular servidores de aplicaciones. de C. un editor gráfico de HTML / JSP / JSF. será instalarle el ADT plugin que nos permitirá interactuar con Android y crear aplicaciones.L.V
. y esto es porque Java nos ofrece una excelente portabilidad.http://www. en este caso como lenguaje de programación. soporte Java EE 5.O. La página oficial es: . e instalarla. Se inició como un IDE de Java. es necesario ir a la página oficial de Java y escoger la versión para Windows (en caso de usar este S. una gran compatibilidad con los diferentes Sistemas Operativos.oracle.
de C. al igual que Windows lo es para computadoras. y la fácil integración de los plugins necesarios para el desarrollo de aplicaciones Android. y listo. 5 Página de descarga de Eclipse. esta es otra ventaja de este IDE. es que es más ligero que Netbeans y no necesita un instalador. El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open Handset Alliance.. Otro punto a tomar en cuenta es que de Eclipse sobresalta.zip. La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones
Sistemas Integrados en la Nube S.L. una firma comprada por Google en 2005. una licencia libre y de código abierto.
Una vez descargado procedemos a la instalación. un consorcio de 78 compañías de hardware. Eclipse IDE for Java EE Developers. ya que basta con descomprimir su contenido.Instituto Tecnológico de la Laguna
En mi caso. no hace falta hacer una instalación típica como cualquier programa.
Como primer paso para la instalación de nuestro entorno de desarrollo en java. decidí utilizar el IDE Eclipse como entorno de desarrollo para mis aplicaciones. Fue desarrollado inicialmente por Android Inc. ya que entornos como Netbeans. una vez hecho esto.org/ en el apartado de descargas. software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles. Debido a que Eclipse es descargado en un archivo . vamos a descargar de la pagina oficial de eclipse http://www. Google liberó la mayoría del código de Android bajo la licencia Apache.
Es el Sistema Operativo de Google para móviles. y listo.V
. y almacenarlo en una carpeta.eclipse. y todo lo necesario viene dentro de él. solo se ejecuta. también poseen los plugins pero es más extensa su instalación. de R. por la portabilidad de Eclipse. solo basta con colocarlo en una carpeta de nuestra computadora.
pueden instalarse versiones anteriores y hacer pruebas de compatibilidad. incluyendo 3 millones de líneas de XML.
Sistemas Integrados en la Nube S.Instituto Tecnológico de la Laguna
orientadas a objetos sobre el núcleo de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo de ejecución. ejemplos de código y tutoriales.75 millones de líneas de C++. instalar aplicaciones en remoto). Comprende un depurador de código. La plataforma integral de desarrollo (IDE. El SDK soporta también versiones antiguas de Android. El sistema operativo está compuesto por 12 millones de líneas de código. 2. 2. una base de datos relacional SQLite. de C. Las herramientas de desarrollo son componentes descargables. Las plataformas de desarrollo soportadas incluyen Linux ( cualquier distribución moderna ). de modo que una vez instalada la última versión. y Windows XP o posterior. documentación. sobre el sistema operativo Android. un motor de renderizado WebKit.V
. un motor gráfico SGL.1 millones de líneas de Java y 1. un simulador de teléfono basado en QEMU. un framework OpenCore. Java Development Kit y Apache Ant ) para crear y depurar aplicaciones.
 SDK Android
Es un conjunto de herramientas y programas necesarios para que los desarrolladores lleven a cabo su trabajo.9 o posterior.8 millones de líneas de lenguaje C.g.L. Max OS X 10.4. SSL y una biblioteca estándar de C Bionic. pueden controlarse dispositivos Android que estén conectados (e. Además. Las Actualizaciones del SDK están coordinadas con el desarrollo general de Android. Integrated Development Environment) soportada oficialmente es Eclipse junto con el complemento ADT ( Android Development Tools plugin ). reiniciarlos. una Interfaz de programación de API gráficaOpenGL ES 2.0 3D. biblioteca. aunque también puede utilizarse un editor de texto para escribir ficheros Java y Xml y utilizar comandos en un terminal ( se necesitan los paquetes JDK. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager). por si los programadores necesitan instalar aplicaciones en dispositivos ya obsoletos o más antiguos. de R.
com/sdk/index.com/android/eclipse/ 5 Aparecerá una lista con el titulo “Developer tools” lo seleccionaremos y presionaremos el botón instalar. que no es otra cosa que un manejador de paquetes y un administrador de dispositivos virtuales de Android.
Integración de SDK Android con eclipse
Para empezar a desarrollar nuestros proyectos para Android en Eclipse.Instituto Tecnológico de la Laguna
 Instalación del SDK Android
Primero descargamos el SDK de Android para Windows desde la página http://developer. y lo llenamos con la siguiente información: a) Nombre: Android ADT b) Ubicación: https://dl-ssl. seleccionamos "Buscar” y buscamos la carpeta donde se instalo el SDK que anteriormente instalamos. ya que el AVD manager nos proporciona la posibilidad de crear dispositivos virtuales.
A continuación procedemos a instalar el SDK de Android ejecutando el archivo que acabamos de descargar. 6 Página de descarga SDK. seleccionamos “Android” en el panel izquierdo. eso no será impedimento para trabajar y crear nuestras aplicaciones. Si no tenemos un dispositivo de Android físico. lo que tenemos que hacer es: 1 Abrir eclipse 2 Ir al menú Ayuda 3 Seleccionar “Instalar nuevo software…” 4 En la ventana “Instalar” damos clic al botón “Agregar”. 7 Con esto ya podremos empezar a desarrollar en Android.L.google.V
.html. Solo basta con ejecutarla e instalar los paquetes necesarios según la versión de Android que necesites. 6 Una vez hecho esto e instalado lo necesario. de R. para simular el dispositivo que nosotros queramos.android. de C. Una vez instalado.
Sistemas Integrados en la Nube S. presionamos “Aplicar” y después “OK”. nos vamos a el menú “Ventana” luego “Preferencias”. se abrirá Android SDK and AVD Manager.
Primero abriremos nuestro Eclipse.V
Fig. de R. 7 Menú nuevo proyecto.Instituto Tecnológico de la Laguna
Fig. en el submenú seleccionaremos “Otro”. de C. 7 Menú de creación de nuevo proyecto 1. es necesario. una vez con nuestro Eclipse descomprimido y listo con el SDK de Android y todo lo necesario.L. en la cual debemos seleccionar “Proyecto de aplicación Android”. haremos lo siguiente. se nos desplegara una nueva ventana como la que sigue.
Sistemas Integrados en la Nube S.3 Crear un nuevo proyecto en Eclipse
Para crear un nuevo proyecto.2. y nos iremos al menú “Archivo” y seleccionaremos “Nuevo”. Eclipse
Una vez que seleccionemos esta opción.
. la ventana que se nos muestra a continuación.
Fig. y el nombre del paquete.L.
Una vez que demos clic en “Siguiente”. Además de seleccionar el SDK en el que se va a construir la aplicación y el mínimo que necesita para funcionar.Instituto Tecnológico de la Laguna
Daremos clic a “Siguiente” y nos mostrara la siguiente ventana. en donde seleccionaremos el nombre de nuestra aplicación. podremos seleccionar alguno de los que nos proporciona Android o elegir un icono que hayamos diseñado para nuestra aplicación. de C. el nombre del proyecto. de R. será para seleccionar el icono que queremos que tenga nuestra aplicación. 9 Menú de creación de nuevo proyecto 3. 8 Menú de creación de nuevo proyecto 2.
10 Menú de creación de nuevo proyecto 4. como empezaremos un proyecto desde cero y a nuestro gusto.V
. seleccionaremos la opción “BlankActivity”.
Sistemas Integrados en la Nube S.XML que va a ser nuestro diseño. 11 Menú de creación de nuevo proyecto 5.
Fig.Instituto Tecnológico de la Laguna
En la siguiente ventana. al igual que escoger un nombre para la Layout en formato . de C. nos dará la opción de seleccionar una especie de plantilla para nuestro proyecto.
Como siguiente paso vamos a escoger un nombre para nuestra clase principal. con la cual vamos a controlar el funcionamiento de la actividad de inicio.L. de R.
procedemos a terminar con la configuración inicial de nuestro proyecto.Instituto Tecnológico de la Laguna
Una vez terminados estos pasos. 12 Pantalla principal de nuevo proyecto.L.
Sistemas Integrados en la Nube S.V
. de C. de R. quedando así:
como las portadas o los enlaces para descargar los diarios en formato PDF. en un listado atractivo. un listado de las ediciones a las cuales podía tener acceso. haciéndolas disponibles a quien desee tener esta aplicación en su dispositivo móvil. Se debería mostrar las ediciones que ya habían sido descargadas. y enlace de descarga.L. ofreciendo la posibilidad de descargar una versión del mismo en formato PDF. la cual consistía en mostrar al usuario el diario en su dispositivo móvil. seria un complemento para la aplicación ya desarrollada. También poder ofrecer al usuario.3. sin necesidad de buscarla nosotros mismos en nuestros dispositivos. todas las notas. fecha. en la cual se muestra a los usuarios todo lo relacionado a su diario. de R. desde que edición es. se encuentra almacenada en un servicio web. sin embargo. las ediciones se manejaban por estado. la aplicación necesita acceso a internet forzosamente. artículos e imágenes. Toda la información necesaria. el cual podían almacenar en su dispositivo para después leerlo. de C.3 Procedimiento y descripción de las aplicaciones desarrolladas 3.
Sistemas Integrados en la Nube S. haciendo más agradable y completo el uso de la aplicación. En la aplicación se mostraría al cliente una lista de los últimos 7 diarios. siendo como principal la edición Nacional.V
. según los últimos 7 días para así. Milenio impreso. se pudiera escoger la versión que mas necesitara. Cada edición cuenta con un servicio web diferente de donde podemos obtener toda la información necesaria. ellos no tenían aun implementada ni diseñada esta sección. por tanto.Instituto Tecnológico de la Laguna
3. imagen de portada.1 Descripción de la aplicación: Milenio Impreso
Completar una aplicación ya implementada por la empresa Milenio. el cual contiene todos los detalles de la misma.
milenio. donde edición es la edición seleccionada
y número es el número de ediciones que se van a cargar. se me proporcionan las especificaciones de la misma que está ya desarrollada en el sistema operativo iOS. y número. en este caso 7
Descargar las portadas y mostrarlas en pantalla. o http://www.Instituto Tecnológico de la Laguna
Fig.L. necesitaremos cumplir con los siguientes aspectos:
Validar que exista conexión a internet. Empezando con el desarrollo de la primera pantalla.php o Con parámetros como edición. puedan aplicarse en Android. 13 Diseño base de aplicación Impreso. de R. Obtener la dirección de descarga del diario.com/xmlmovil/obtener_datos. La aplicación consiste de 7 pantallas inicialmente.
Para comenzar el desarrollo de la aplicación Impreso. las cuales hacen su función cada una de ellas. de lo contrario no podrá obtener las portadas de las ediciones. de C. y esperando que todas las funcionalidades que ya están desarrolladas.V
. Guardar la dirección para después descargarla (si se necesita).com/sites/milenio. Consultar un servicio web para obtener la dirección de las portadas.
Vemos como el dialogo nos muestra un mensaje en el cual nos menciona “Conectando. lo cual nos dejara con una pantalla sin cargar nada. Primera versión.
Fig. 15 Pantalla. de C. dándonos como resultado la carga de las portadas. de R.V
.Instituto Tecnológico de la Laguna
Desarrollo de la aplicación. 14 Pantalla. nos mostrara un mensaje con la leyenda “Error al cargar.
Sistemas Integrados en la Nube S. obtendremos una pantalla como la anterior mencionada. Espere por favor…” y si en algún momento alguno de los requisitos ya establecidos para continuar con la aplicación. para verificar que se cumplan las condiciones sin afectar el funcionamiento de la aplicación.
Para la validación de los aspectos ya mencionados en el punto anterior. no se llegan a cumplir. usamos un hilo en segundo plano. así que al iniciar obtendríamos algo como esto:
Fig. vista previa de portada.L. Revisa tu conexión a internet“. carga de imágenes. Pero sin embargo si la conexión se realiza exitosamente.
donde se guardan las ediciones descargadas. Crear un método o clase para descargar el archivo de manera que se puedan descargar varias ediciones simultáneamente. surgió el primer inconveniente. entonces primero preguntaremos al sistema si ya existe la carpeta. implementando AsyncTask para realizar las descargas en segundo plano. Omitiendo ese “detalle” por el momento. de lo contrario tardan demasiado en ser cargadas a la aplicación. para esto utilizamos un método de Android llamado.milenio. las imágenes de portada de cada edición que se carga en la aplicación. 16 Pantalla. Ahora bien. y requieren mucho ancho de banda para ser descargadas.
Fig. directorio de descarga.L. si no es así usaremos el comando ya mencionado. Crear una carpeta para almacenar las ediciones descargadas. se prosigue la funcionalidad de descargar el diario. Consultar el servicio web: o http://www. de R. Agregar la edición descargada a la sección “EDICIONES DESCARGADAS”.Instituto Tecnológico de la Laguna
Como podemos observar. para esto necesitamos lo siguiente:
Validar conexión a internet. Sin embargo.
. en esta etapa inicial del desarrollo. . en esta parte esta muy bien implementada cada sección de la primera pantalla que se marca en el diseño que se me proporciono como base.com/sites/milenio.
Finalmente me decidí por implementar un método para descargar las ediciones. son muy pesadas.php Obtener el enlace de descarga del mismo. de C. “mkdirs()” que tiene como función el crear una carpeta en la ruta especificada.com/xmlmovil/obtener_datos.
Una vez creado el directorio o si este ya estaba creado con anterioridad. cada vez que regrese a una sección. Después de haber implementado el método para crear el directorio (si es que no existe). en porcentaje y en un componente también.L. no tendrá que descargar de nuevo las portadas. nos muestra la siguiente pantalla con el dialogo ahí mostrado:
Fig. al almacenar las portadas nos ahorramos tiempo de descarga de las portadas que se están viendo en la aplicación. me di a la tarea implementar la siguiente actividad.
Sistemas Integrados en la Nube S. Continuando con el desarrollo de la aplicación. lo usaremos para almacenar las portadas y ediciones que se descarguen en la misma.V
. las cuales al tocar en el titulo de la misma. así mientras el usuario se encuentre en la aplicación. al descargar una edición. 17 Pantalla. de C. que consta de una pantalla en donde podamos ver una lista de ediciones. descarga de edición. en el dialogo se muestra un progreso de la descarga. quedando de la siguiente manera.
Como podemos observar. El desarrollo de esta parte era relativamente sencillo. con el fin de no llenar la memoria del dispositivo. se nos cargara la edición seleccionada. y mostrando la lista de ediciones. se borraran todas. y al salir de la aplicación. de R. manteniendo la barra de menú de la parte superior.
sin embargo. edición seleccionada. iguales a lo ya mencionado con anterioridad de la primera sección. no se le dio importancia de inicio al diseño. Obtener los datos necesarios. lista de ediciones. como esta fase del desarrollo de la aplicación.V
. con la lista de ediciones. cambiando los parámetros de edición y número. pero con la edición seleccionada. fue solo implementar todas las funcionalidades. de C. En cuando a funcionalidad solo queda realizar lo siguiente:
Consultar el servicio web antes ya mencionado.
Con los datos ya cargados vamos a mostrar una pantalla similar a la de la primera pantalla. un control ListView.L. como el color rojo que lleva en la parte superior de la pantalla.Instituto Tecnológico de la Laguna
Fig. 19 Pantalla.
Sistemas Integrados en la Nube S. como sigue:
Con algunas variantes de la primera pantalla.
Con un diseño bastante simple de inicio. 18 Pantalla. esperando la validación de la misma por parte de mi asesor. de R.
Tocaba turno de implementar el “Archivo” para la cual se puso en practica unas librerías. cambiando su texto.
Fig. al utilizar dichas librerías para intentar leer el archivo PDF y mostrar la primera pagina como portada. errores al leer PDF. se obtuvieron los siguientes resultados:
Sistemas Integrados en la Nube S. con esta ultima funcionalidad. usadas para procesar el archivo PDF y mostrar las paginas como imágenes individuales. Leer el diario por página como la versión en iOS.
Cambiando punto a punto.L. y me quede en espera de los comentarios sobre la misma para realizar las modificaciones que fueran necesarias. de R. El dialogo de descarga se debe mostrar en el mismo botón. y no sobre un dialogo de progreso. recibí los comentarios y correcciones acerca de la misma. de C. sin embargo. el procesado de imágenes era muy tardado y no era eficaz. 20 y 21 Pantalla.
Como podemos observar en la captura anterior. Espere por favor…” a un dialogo que muestre la edición que actualmente se esta cargando.
Segunda versión. algunas ocasiones la portada salía perfecta pero en otras no. concluyo el desarrollo de la primera versión de esta aplicación. entre estas correcciones estaban:
El botón “Archivo” pasa de ser un botón en la parte inferior debajo del botón “Descargar/Leer” a un botón en la parte superior del lado de “Seleccione una Edición”. el diario no se carga completamente.V
. El dialogo que aparece al cargar los datos de la edición seleccionada pasa de ser un simple “Cargando.
Una vez concluida la etapa funcional de la aplicación.
Esto inicio con el fin de llevar una especie de registro sobre cual es la edición que actualmente se esta cargando. Este cambio solo se basa en la ubicación en la que se encuentra el botón “Archivo” el cual estaba ubicado en la parte inferior de la pantalla. cabio de dialogo. 24 y 25 Pantallas. de R.
Cambiar dialogo de carga de ediciones. gusto a mi asesor y a Milenio. lo tardado que es la carga de una sola imagen en la aplicación. cambio de botón. para retomarlo mas adelante.L.V
. después de algunas revisiones. pero ahora se reacomoda en la parte superior al lado del botón para la selección de ediciones:
De esta manera también quedo mas en evidencia. dejando como observación de nuevo. así que se quedo de la siguiente manera:
Cambio de ubicación de botón archivo. 22 y 23 Pantallas. de C. sin embargo.
además de permitir la descarga simultanea de ediciones. 26 y 27 Pantallas. y poder ver hoja por hoja. pero mostrarlo de una forma personalizada. pero si muchas respuestas en cuanto al procesamiento del PDF. así que me di a la tarea de investigar la forma de procesar el archivo y mostrar el diario pagina por pagina. mostrando el progreso de descarga en el mismo botón. así que no lograron los resultados esperados. gracias también a que el método de descarga esta implementando un hilo en segundo plano.
Podemos apreciar que es un gran cambio. Use varias librerías para procesar el archivo. Esta parte del diseño es por una sugerencia que hice yo para mostrar la descarga. todo depende de la conexión a internet. hasta el momento yo no había desarrollado una aplicación parecida. sin embargo estas librerías estaban en modo de prueba. de R. mostrando las
Sistemas Integrados en la Nube S. el cual no afecta en nada a las demás descargas. de C. cambio de progreso de descarga. es implementar la manera de leer el diario descargado. en formato PDF.V
. entonces se opto por el diseño original. El siguiente paso en el desarrollo de la aplicación.Instituto Tecnológico de la Laguna
Mostrar progreso de descarga sobre el mismo botón.L. y lo que hacían era dibujar el diario pagina por página. Una vez que el diario se encuentra en descarga. Encontré varias sugerencias en foros y tutoriales. pero sin embargo era un poco ineficiente al momento de que el usuario quisiera descargar más de una edición a la vez. y su velocidad. Leer PDF como en iOS. así cada vez que se descarga una edición se crea un nuevo hilo. este cambio queda de la siguiente manera:
Fig. y no fueron eficaces. es posible cancelarla volviendo a tocar el botón. el cual se almacena en nuestra memoria de nuestro dispositivo. pero ninguna en la documentación de Android.
el botón de “Elige una Edición”. que no hay librería que sea capaz de procesar un PDF en Android (aun). Con esto se cambia el diseño de la aplicación. tales como el botón de descargar. entonces decidí cargar el diario con algún lector de estos archivos instalado en nuestro dispositivo. Después de estos cambios. cambios de diseño. se me proporcionaron estas nuevas mejoras:
Cambiar diseño por una versión más completa.
Cambiar diseño.V
. Después de muchos intentos tratando de procesar el archivo PDF para ver página por página.Instituto Tecnológico de la Laguna
paginas del diario de una tonalidad extraña. Se agrega también un pequeño componente debajo del botón descargar.
En esta tercera versión de la aplicación. la aplicación nos queda como sigue:
Fig. de C. en formato día/mes. esperando revisión por parte de Milenio y de mi asesor externo. dándole más personalización en cuanto a los colores de la empresa y adaptándola a la versión final. no mostrando los colores como realmente se deben tener.L. por lo que se me proporcionaron imágenes con los fondos que debería llevar cada componente. en donde se pone la fecha de la edición. y el botó n de “Archivo” que ahora pasa a ser “Ediciones Descargadas”. por lo regular Adobe Reader o algún otro. Es aquí donde termina la segunda versión de la aplicación. de R. mi conclusión fue. 28 Pantalla.
El botón “Archivo” pasa a ser “Ediciones Descargadas” y el botón de “Elige una edición” . para ver el diseño y saber como debería quedar dicho menú.El diseño en el botón “Descargar”. . ya que la lista de ediciones no se mostraría en una pantalla nueva. . si no que se debería mostrar como una especie de menú con efecto de expandir y contraer. 29 Pantalla. Tratar imágenes para que el tiempo de descarga de las imágenes y carga en la aplicación sea menor. para este efecto decidí usar una clase llamada PopupWindows. pero se propusieron los siguientes cambios según la revisión de mi asesor y de la empresa Milenio:
La lista de ediciones debe cambiarse a una especie de Popup siguiendo el patrón que tienen las demás listas en la aplicación Milenio.V
.La fecha en un pequeño Layout debajo del botón “Descargar”. de R.
En esta cuarta versión los cambios no fueron muy significativos.
Cuarta versión. Fue en este punto de desarrollo de la aplicación. por encima de la vista previa de la portada.Instituto Tecnológico de la Laguna
Que seria prácticamente el mismo diseño para las pantallas de edición seleccionada y la edición principal (Nacional). .
Fig. ejemplo de menú.L.
Cambiar lista de ediciones a un Popup. con los siguientes cambios: .Barra con el titulo de la edición seleccionada. de C. con un fondo semitransparente. donde se me informo que había cambiado un aspecto muy importante en cuanto al diseño de la aplicación. con la fecha en formato día/mes.
Sistemas Integrados en la Nube S. Se me proporciono la siguiente imagen de la aplicación de Milenio. cambia con un fondo más de acuerdo a los colores de la empresa.El botón “Seleccione una edición” pasa a ser “Elige una Edición”.
la aplicación falla y deja de funcionar. el menú no cumple completamente con los requisitos originales. quedando en las primeras pruebas. Sin embargo. pero si un error en cuanto a uso de memoria. para lograr el efecto deseado. incluso en la documentación oficial de Android. al momento de cargar la edición Nacional (que es la edición que se carga en primera instancia) y elegir una edición (distinta a la nacional) y pasar de esta segunda edición seleccionada a una tercera. ya que las imágenes se cargan en un ImageView distinto para cada edición. pruebas de menú. de C. o algún error de sintaxis. ya que las que originalmente se manejaban. eran de una resolución muy alta. a lo que me di a la tarea de investigar paso por paso en el código para encontrar en donde estaba la falla de esto. sin embargo no encontré error alguno.V
.L. pero ya se tiene una vista previa o perspectiva de lo que se quiere originalmente. usando la clase ya mencionada. como se muestra a continuación:
Ahora bien. estos coincidían en una sola respuesta:
Sistemas Integrados en la Nube S. Después de analizar el código paso por paso para tratar de encontrar un error en mi lógica programación. Tratar imágenes de portada Esto se basa prácticamente en pedir a la empresa Milenio que reduzcan la resolución de las imágenes. con un fondo que ellos me proporcionaron. de R. hasta dejarlo sin espacio suficiente para seguir ejecutando la aplicación. y era bastante tardada (con una velocidad de internet promedio. procedí al desarrollo de dicho menú.
Al estar en un estado de prueba y de desarrollo. los mismos se van cargando en memoria del teléfono. La explicación a esto la encontré navegando en foros de Android como Android Developers o tutoriales de Android sobre el tema. 30 Pantalla. o una red 3G) la descarga de las mismas. aquí surge otro detalle.
solo me quedó informarle a mi asesor para que hablara con la empresa. La solución a esto. si a esta variable le asignamos 2. de manera que si se nos va quedando una cantidad de basura importante.Options bounds = new BitmapFactory. BitmapFactory. out).
Entonces como conclusión a esto. bounds. Esto se lleva a cabo con la clase BitmapFactory y el método de la clase Options().
Donde “in” es la imagen de portada que tenemos en un InputStream y “out” es el archivo destino en nuestro almacenamiento externo. el tiempo que transcurre en mostrar las imágenes de las portadas en la aplicación. por lo tanto. es decir. habría muchos problemas. quedando este código como sigue:
BitmapFactory. alguna vez hace algo. que por lo visto no está previsto que solucionen tan fácilmente. no encontré una solución mejor. bounds).inSampleSize = 2. es decir. el método no funciona del todo bien. reduciendo el espacio de memoria usada por la aplicación. ya que si no se solucionaba. que si cada imagen ocupaba 1mb de memoria en la aplicación. de esta manera continuamos con el diseño de la aplicación.V
Es un bug de Android. inSampleSize = 2. Aunque llamemos a bitmap. null. nos dará esta excepción (también en otras situaciones saldrá) De esta manera.CompressFormat. ya que si era un problema delicado. fue que implemente una redimensión de las imágenes.compress(Bitmap. haciendo esto más funcional y reduciendo la posibilidad de tener de nuevo este problema. es decir.L. de R.recycle() la memoria no se libera bien. así que paso a revisión con la empresa y con mi asesor.decodeStream(in. pero nada.
Sistemas Integrados en la Nube S.PNG. en el cual amos a guardar las propiedades que le daremos a la imagen. pero surge un detalle. de C. esperando respuesta por parte de ellos. aumenta considerablemente. sin embargo. ocupara solamente la mitad. Pues este método no asegura que se vaya a liberar memoria en el momento en que lo solicitamos.gc() y confiar en que el recolector de basura recolecte cuando se lo pedimos. vamos a comprimir la imagen en formato . Sólo tenemos unos 16MB para correr la aplicación completa. Con esta opción se soluciona el problema anterior. en este caso usaremos la propiedad inSampleSize al que le asignaremos el valor con el cual vamos a reducir el tamaño de la imagen. pero al menos deja constancia de que se desea hacer cuanto antes. con esto reducimos el tamaño en memoria de la imagen a la mitad.png a la mitad del tamaño. 0.Options(). solo nos queda llamar al método System.
reduciendo su tamaño. el diseño del menú estaba prácticamente terminado. Aunque con esto se sacrificaba un poco la velocidad con la que se descargaban las mismas. ocasionando molestias al usuario.V
En esta versión se hizo la evaluación de los puntos anteriores. menú con diseño final. era alineado a la izquierda de la pantalla. para esto me di a la tarea de mejorar la clase que implemente para la creación del mismo.
Con esto. se hacia el proceso de compresión de la manera que ya se explicaba en la versión anterior. y dándole una forma mas estilizada.
Sistemas Integrados en la Nube S. Compresión de las imágenes. “Elige una edición” La compresión de las imágenes queda de esta forma. de R. no era en toda la pantalla. de C. que es el que espera la empresa del mismo. porque al tiempo que se descargaba. Las imágenes. ya que con esto se evitaba que la aplicación pudiera fallar.Instituto Tecnológico de la Laguna
Quinta versión. se llego a la conclusión de dejar la aplicación de esta manera. reubicando su posición. solo faltaban algunos ajustes de diseño. como ya se había enviado a evaluar en la empresa Milenio. como colores y fondos. debajo del texto. ya que si no es así se arriesgan a que la aplicación deje de funcionar. para esto el menú quedaría de esta forma:
Fig.L. pera esto tenia que esperar revisión y correcciones (mínimas). y los comentarios fueron los siguientes:
El menú en forma de Popup. 31 Pantalla.
Menú con diseño final En esta versión se actualizo el menú hasta tener un diseño final.
Diseño de “Ediciones Descargadas” parecido a las demás pantallas. así que comencé a aplicar el diseño. el código esta funcionando como se esperaba y no hay problemas hasta el momento.Instituto Tecnológico de la Laguna
Sexta versión. los cambios serán meramente de diseño.
Como podemos notar. 32 Pantalla. siguiendo los patrones de la aplicación.
Fig. como ya lo mencionaba antes. Diseño de “Ediciones Descargadas” En esta sección. de C. son los siguientes:
Texto del botón “Descargar” hacer más pequeño al descargar una versión.V
.L. Los cambios descritos en esta sección se muestran a continuación:
Texto en botón “Descargar”. el texto se hiciera mas pequeño. de R. el texto no sobresale del botón. los cambios en la aplicación en esta sexta versión. Este es un ligero cambio que se le dio al botón. ya que según comentarios de mi asesor. de esta forma se da por visto este aspecto y se pasa a evaluar con mi asesor y la empresa. cambios a botón de descarga. y mostrando el texto completo al usuario. dando un mejor aspecto a esta sección. el texto sobre salía de las dimensiones del botón. por esto era necesario que al momento de descargar. de esta forma. el diseño no se había implementado.
un botón “Leer” en el cual el usuario puede presionar y abrir el diario con su lector de PDF preferido. 33 Pantalla.
Agregar botón “Borrar”.
Los cambios realizados en esta sección son esencialmente.
Séptima versión. agregar botón borrar.
Los ajustes a realizar en esta versión. sin que tuviera necesidad de tener algún explorador de archivos instalado en su dispositivo.V
Sistemas Integrados en la Nube S. para que el usuario pudiera eliminar la edición de su preferencia. un pequeño Layout con la edición a la que pertenece el diario que se muestra actualmente en la pantalla. diseño de ediciones descargadas.Instituto Tecnológico de la Laguna
Fig. se debería agregar este botón. son los siguientes:
En “Ediciones Descargadas” agregar un botón “Borrar”.
Fig.L. y sin que conectara su dispositivo a una computadora para eliminarlo. de R. 34 Pantalla. se llego a la conclusión que para comodidad del usuario. de C. Mientras se evaluaba el desempeño de mi aplicación.
de C. es decir. Realzar icono de “Elige una edición” al presionar. Siguiendo los pasos anteriormente descritos para concluir con esta aplicación. un solo menú. pero con esta sección sin mostrar aun. con un include que hacia que el menú ya creado. Agregar el menú superior.
Sistemas Integrados en la Nube S. Los pasos a seguir para agregar el Impreso a Milenio se desglosaron como sigue:
Agregar el menú superior. solo basta con cambiar el titulo de la cabecera. Agregar el menú inferior. solo se agregara a la aplicación.
Con la séptima versión de la aplicación Impreso. en diseño es básicamente esto. se dio por concluida la parte funcional. como lo hacían en toda la aplicación. que no era más que una sección de la aplicación Milenio.L. se desarrollaron de la siguiente manera. Para esta sección. de R. 35 y 36 Pantallas. se usa en toda la aplicación. se me asigno el desarrollo de esta aplicación.Instituto Tecnológico de la Laguna
Integración de Impreso a Milenio. sin necesidad de crearlo en cada sección. agregar menú superior. Cambiar colores varios. así que el siguiente paso a seguir era el de integrar esta sección a la aplicación de milenio. ya que su función es la misma. ya desarrollada e implementada.
Como ya se mencionaba en la introducción de este proyecto. recurrí a poner el menú. Este menú.V
Esto solo para continuar con el diseño original.
Cambiar colores varios. se cambia el color que tenia por default la aplicación.
Fig. de C. solo bastaba hacerle el include correspondiente. va de color blanco.V
. cambiar el color de fondo es necesario. cambio de colores.Instituto Tecnológico de la Laguna
Agregar el menú inferior. el menú inferior estaba ya creado e implementado con todas sus características.
Sistemas Integrados en la Nube S. además que el color de la letra que esta en la banda superior. se cambia la fecha. por uno totalmente blanco. 37.L. 40 y 41 Pantallas. 38 y 39 Pantallas. Quedando de esta manera. De la misma manera que el menú superior. en donde se pone la edición que actualmente se esta viendo. por la palabra “HOY”. y por ultimo. agregar menú inferior. al mostrar la edición del día actual. siendo el menú inferior el siguiente. de R.
Y como ultima adaptación para concluir con la integración de la sección Impreso a la aplicación Milenio.V
. mostrando que esta sección esta activa. 42 y 43 Pantallas. de R. al momento de presionar el icono de “Elige una Edición” se tendrá que cambiar este icono apagado. se realiza un ajuste de la lista de ediciones. por uno resaltado. de C.L. es decir. cambio en ícono.
Sistemas Integrados en la Nube S. para finalmente dar este aspecto.Instituto Tecnológico de la Laguna
Resaltar icono “Elige una edición”.
o solo en la sección en donde se encuentra el error. considero que esos son los pasos esenciales para la corrección de un bug. Si no se encuentra donde esta exactamente el error. no funcionan bien del todo.
En general. y las secciones que utilizan este código no se ven afectadas por el error. pero la mayoría requerían de un análisis muy exhaustivo. con los bugs más urgentes en la aplicación. En este momento. el de resolver los “Bugs” que existían en la aplicación de Milenio.2 Descripción del proyecto: Bugs Milenio
Para este proyecto. por lo que requerían bastante tiempo de resolución.3. para poder para así poder analizar y buscar lo necesario. recurrir a un “Debug” paso a paso en la sección en donde se a identificado.Instituto Tecnológico de la Laguna
3. Identificar en que sección de la aplicación se encuentra. así que nos dimos a la tarea de empezar la resolución de los mimos. Conocer si las líneas de código afectan a varias partes de la aplicación. Nos proporcionaron el código completo de la aplicación. influye en mas de una sección de la aplicación. Si el código afectado.
Sistemas Integrados en la Nube S.L. pero por cambios en la aplicación. o son líneas de código con una lógica no muy buena. así que lo que sigue es aplicar todos los cambios necesarios. Aplicar cambios. en los últimos pasos. me encontraba yo terminando con el anterior. que estaba ocupado. errores que en algún momento no estaban. Analizar y conocer como funciona exactamente el código. cuando mi asesor externo me asigno un nuevo trabajo. de R. pero fue entonces cuando me asignaron los de otro trabajador. y que función realiza cada instrucción. A mí y a otro compañero nos hicieron llegar una lista. si los mismos no funcionan. buscar la manera de seguir usando el mismo código.V
. empezaron a surgir. Ver resultados. de C. volver a corregir. ya se contaba con una lista de los bugs que tenía la aplicación. la mayoría de los cuales ya estaban asignados. Los pasos que se deben seguir para resolver un bug son:
Saber cual es el error. pero corregido para la sección que si esta afectada. Los “Bugs” no son mas que errores. por lo tanto. Algunos de ellos eran bastante simples.
así que según me explicaron. como era obvio. lo cual no fue nada difícil. el bug se dio por resuelto. Una vez validado esto. y si la edición seleccionada contiene radio. esperando el visto bueno. Para dejar funcionando completamente esta sección y por terminado este “Bug” es necesario buscar la sección donde se ejecuta cada elemento del menú. el arreglo no contenía estas secciones. entonces hay que verificar que este arreglo contenga las secciones que faltan. solo había que buscar el método correspondiente al “clic” de sus elementos.L. Entre estas validaciones se crea un arreglo para llenar le menú. hacia falta agregar el código correspondiente.
El primer paso para la resolución de este “Bug” fue.Instituto Tecnológico de la Laguna
Falta incluir “Radio” y “A tiempo” en "Más contenidos Locales". es decir. pero afortunadamente estaban bastante explícitos.
Sistemas Integrados en la Nube S. en donde hacia falta declarar lo necesario para la sección “A tiempo”.V
. así que el menú “Mas contenidos Locales” se encontraba en el método masContenidosLocales(). como de Milenio. muchos métodos y menús. de C. Con esta ultima implementación en el programa. “Radio” y “A tiempo”. que en este caso solo se trataba de crear la llamada a la pantalla de “A tiempo”. ya que el menú tenia una lista. es decir en el caso de que el usuario presionara el “ítem” de esta sección. en donde se validan datos como la edición seleccionada. tanto por parte de mi empresa. trata de un menú que esta incompleto. en el menú ya aparecen las secciones faltantes. nos creara la nueva pantalla para la misma y la mostrara al usuario. Esta clase contenía muchas líneas de código. se lo notifico a mi asesor. se da por terminado este primer bug. entonces solo hacia falta agregarlas. de R. Afortunadamente. y se me pido continuar con los demás. Directamente me situé en esta sección. sin embargo. en el cual había una serie de condiciones para llenar el menú. por esta razón me puse a buscar en las clases que creaban los menús. en evento onItemClick de la lista de contenidos. identificar donde se encuentra la sección “Mas contenidos Locales”. al tocar esta sección no ejecuta absolutamente nada. para al fin encontrarme con la clase adecuada.
de C. a ser remplazado por algo como http://(edicion).V
. de R. según la edición seleccionada.L. lo cual concluye siendo satisfactorio. el parámetro que necesitaremos de la clase anterior.
Sistemas Integrados en la Nube S. Se trataba de encontrar la clase desde la cual se cargaba dicha información del servicio web. Analizando el código. con esto el filtrado estaría completo. a la clase FirmasActivity. fuera la que fuera la edición por la cual se accedía a ella. me di cuenta que cada edición tiene su servicio web. entonces no encontré alguna validación para la cual. mando parámetros a la siguiente clase que es la actual. la información que mostraba era siempre la misma. es decir. es obviamente la edición que seleccionamos. y puedo continuar con la resolución de los bugs en lista. para obtener la información del mismo y mostrarla al usuario. podría ser que las variables utilizadas para cargar la información estuvieran erróneas. y cada vez que se accediera a firmas. o no se cargaran. el servicio web cambiara de: http://www.milenio. Con esto se pasa el bug resuelto a revisión. o simplemente que el servicio web no fuera el correcto.com/cdb/views/firmas/json. era precisamente la clase FirmasActivity.
Firmas necesitaba de un servicio web para cada edición. el servicio web empieza por “www”. es decir. afortunadamente la clase por la cual se cargaba la sección de firmas. lo uso parámetro para cambiar el servicio web. así que desde la clase anterior.com/cdb/views/firmas/json. así que no hubo mayor problema para encontrar el punto de partida del análisis. si la edición es nacional. a donde accedíamos a “Mas contenidos locales”.milenio. Al ser un error de filtrado. es decir. si hablamos de la edición “Estado de México”.java. Los mismos cambian (como ya se explicaba antes) de “www” por un prefijo de la edición seleccionada. esto quería decir que en algún lugar del código no estaba validado correctamente el acceso de a un servicio web. sin embargo. se cargaría la información correcta de cada edición y no solo la de la edición nacional. cambiaríamos el servicio web para que empezara por “edomex”. es decir.Instituto Tecnológico de la Laguna
Al ingresar a firmas desde "Más contenidos Locales" el filtrado está incorrecto. no cambiaba y siempre mostraba las firmas de la edición nacional. Una vez con el parámetro necesario para la siguiente clase.java.
esperando que ya no surja de nuevo el error. y no fue mas que agregar unas validaciones. se me informo que todo estaba correcto. me adentre directamente en la clase llamada LaAficionActivity. se seguía mostrando en la parte inferior. Después de la revisión. hacer que se cargaran las primeras 3 imágenes en la parte superior. no se siguieran mostrando en la parte inferior. esto para que la carga de imágenes e información no afectara en el manejo de la aplicación. Una vez dicho esto. que era donde se mostraban las notas siguientes. entonces esta era mi sección de trabajo y análisis de código para encontrar el error. de C. la aplicación Milenio contaba con una sección llamada “La Afición”. y después de esas primeras 3.
En este bug. se debía extraer la información y acomodarla según se necesitara en esta sección. era que las notas en la parte superior.java. no queda mas que corregirlo.
Sistemas Integrados en la Nube S. tras analizar el código. fotos de la afición. no cargaría nada. esto para que al momento de reiniciar la carga de esta sección se cargara de la misma manera. El error ocurría porque al cargar esta sección no estaba bien implementada la forma de mostrar las imágenes. en la cual se mostraba una sección de deportes. y encontrado el error. en el cual se cargaba toda la información para mostrarla. Lo que se quería corregir entonces. Había un hilo. de R.V
. que al leer el servicio web. explicada la función de esta sección. así de sencillo. en donde cargaban las ultimas noticias sobre dicho tema. Para este bug. También agregar un “reseteo” de una variable. se pasa la aplicación a revisión al igual que cualquiera de los otros errores corregidos. mostrar las que faltaban en la parte inferior. como querían que se mostrara la información. sucedía que al mostrar esta sección en la parte superior se muestran 3 imágenes. lo que se mostraba eran imágenes. si dejaba la variable con el mismo valor (un contador de las imágenes). sin embargo estas imágenes (con su respectiva descripción). y que podíamos continuar. En general. pasaba algo muy extraño. encontré unas validaciones. las cuales se pueden tomar como las titulares.Instituto Tecnológico de la Laguna
Se repiten las fotos del carrusel en el listado. fotos sobre los deportes y como dice el titulo de la sección.L. Una vez realizados los cambios.
de R. es necesario analizar el código de la clase “FirmasActivity.L. de C. Se valido la corrección. Para corregir esto. por esto. al igual que uno de los “bugs” anteriores. Este error consistía en que al cargar de nuevo la sección.
Sistemas Integrados en la Nube S. no volvía a aparecer el menú inferior. Afortunadamente me encontraba en lo correcto. surgió un error que no se tenia documentado. y al parecer el error estaba al volver a cargar. se soluciono el problema. esto era bastante extraño. el menú superior no cambia. y se continua con las siguientes correcciones en la lista de errores de la aplicación. Inmediatamente se me ocurrió analizar el método “OnResume” ya que este era el encargado de mostrar o recargar la información de la pantalla. y después presionar el botón de “home” ese menú no cambiaba en lo absoluto. envío la aplicación a revisión y todo quedo correcto y funcionando.Instituto Tecnológico de la Laguna
Menú inferior no aparece al entrar por segunda vez en “La Afición”
En la misma sección. agregue las líneas de código correspondientes para recargar el menú superior. y mostrar al usuario la información deseada.java” y verificar un método llamado “setMenuSuperior” y verificar que en el mismo no se validaba la edición en la que se encontraba la aplicación actualmente. después de que el teléfono se bloqueara. y la edición mostraba el menú superior adecuado para cada una de las ediciones. comunique a mi asesor externo que el error estaba resuelto.
Al cargar firmas después de haber presionado home. Validando la edición. y solo era cuestión de recargar el menú inferior. sin embargo. a través de algunas pruebas por mi parte. ocurría que al momento de cargar la sección firmas. Para evitar que pasara lo mismo con el menú superior. necesitaba validarse cual edición estaba seleccionada para así hacer una consulta del servicio web correcto. Después de hacer las pruebas correspondientes por mi parte. inmediatamente se me asigno.V
La descripción de este error consistía en que el menú superior contiene información según cada edición seleccionada. se dio por terminada.
así que el siguiente cambio fue en la clase “MenuContexto.
Para este error. de R. en donde los cambios realizados fueron los siguientes.java”. ya que las validaciones y el llenado de los menús estaban de forma incorrecta. es decir. Cambiando los menús involucrados por su menú con secciones correspondiente. Los primeros cambios fueron para la clase “ListaFotogalerias.Instituto Tecnológico de la Laguna
En foto galerías el Dropdown. cambios como agregar métodos o cambiar del todo algunos. por lo cual era algo complicado seguir el paso o la continuidad a la ejecución de código. ya que la información que se quería mostrar al usuario era de secciones. la clase se basaba de información de otras clases. tocaba turno de la siguiente clase involucrada en el bug.java”. para así llenar los menús de la clase anterior. esta clase era la encargada de mostrar la información al usuario de los menús.
Con estos cambios realizados. por lo tanto los cambios en esta clase se enlistan a continuación.V
. Analizando y entendiendo el código. el filtrado es por Secciones. 2. Validar los datos. y se valido satisfactoriamente por parte de la empresa.java”. 1. para que mostrara las secciones de todas las ediciones. para llenar los mismos con la información necesaria. de C. 2. que recorriera todas las ediciones y mostrara al usuario cada sección de todas las ediciones. llegue a la conclusión de realizar cambios en la aplicación. es decir. Llenar los menús con secciones y no con ediciones.
Sistemas Integrados en la Nube S. Por ultimo se modifico la clase “FotogaleriasActivity. ya que para cargar las secciones. Con este último cambio se dio por terminado con la corrección de este bug. simplemente para reasignar la asignación de los menús. Crear método que me asignara la sección seleccionada por posición para llenar los menús.L. que en vez de que mostraran ediciones cambiaran por secciones. tuve que analizar mucho mas código. línea por línea. 1. Crear un método el cual me regresara la sección seleccionada en la posición requerida.
Cambiar “PullToReload” por actualizar con botón de menú. era un error fácil de solucionar. consistía en que las noticias había un efecto. de R. se me dijo que remplazara ese efecto de la aplicación para mostrar actualizaciones.V
Este error era uno de los más simples con los que trabaje en este tiempo. sin embargo su efecto era el de no dejar pasar todas las noticias demasiado rápido. se concluyo que la solución estaba en el constructor de una clase llamada “Secciones. y se evaluó satisfactoriamente. el cual hacia ver las noticias tras deslizar el dedo por la pantalla. me di cuenta que estaba por demás darle ese efecto y que no funcionaria. de C. Para solucionar esto.
Esto ocurre porque la aplicación tenia un efecto en pantalla para actualizar su información. termino siendo una forma no muy atractiva para la vista y el diseño de la aplicación. así que simplemente implemente un menú sencillo con la palabra “Actualizar”. pero cumplía con lo requerido por la empresa. esta variable reiniciara su valor y no afectara el despliegue del menú deseado.
Menú secciones no se despliega en pantalla principal. se dio por bueno este cambio.
Al igual que el anterior.java”. Tras un exhausto análisis del mismo.L. y se dio por solucionado el bug.Instituto Tecnológico de la Laguna
Swipe de noticia se pasa a la última muy rápido.
Sistemas Integrados en la Nube S. sin embargo no estaba funcionando correctamente. para que al momento de recargar la información. si no frenar el efecto lentamente. La solución solo trataba de reiniciar una variable. que esperaban una excelente aplicación y se topaban con errores tan simples como estos. no estaba muy bien implementado y no siempre funcionaba. Tras analizar el código y el efecto que necesitaban las noticias. Después de validar los cambios hechos con mi asesor y a la vez consultarlo con la empresa. así que la solución inmediata fue la de eliminar el efecto. sin embargo. y realizar numerosas pruebas. por una simple barra de menú. sin embargo este s requirió de un gran análisis en el código fuente. este punto dio muchas quejas de los usuarios. que se mostrara con el botón de menú del dispositivo. es decir que su valor fuera de nuevo cero. para poder así continuar con la solución de los siguientes errores. Al igual que el bug anterior se concluyo rápidamente con el. haciendo que el usuario batallara y su pantalla se quedara trabada.
este se basaba en que la información descargada de los servicios web no era la correcta. así que implemente un método el cual me convertía la edición en numero. es decir si la edición era hidalgo. que la información obtenida siempre era de una sola edición. y visto de muy buena manera. que integrara esta funcionalidad faltante. dando otro visto bueno a esta solución por parte de mi asesor y de la empresa Milenio.
Sistemas Integrados en la Nube S. me tome la libertad de agregar el enlace para cargar el impreso desde aquí.Instituto Tecnológico de la Laguna
Faltan ediciones con “A Tiempo” en "Mas contenidos locales" e integración de funcionalidad de impreso en la misma. solo agregue unas cuantas líneas para mandar llamar a la actividad con el impreso. su equivalente numérico seria 130. me regresara la información con un filtrado correcto. La diferencia era que la edición en esta sección no se manejaba por nombre. se continúa con la solución de los siguientes errores. según la edición en la que se encontrara el usuario. para que al momento de consultar el servicio web.
“A Tiempo” en "Mas contenidos locales" no esta filtrado. si no siempre la edición nacional. si no por numero. es decir.V
Al igual que muchos de los errores por filtrado. la solución era validar la edición en la cual se encontraba el usuario actualmente y pasarla como parámetro a la siguiente pantalla. no era la edición en la que te encontrabas.L. la opción de A TIEMPO. El error se dio por resuelto y se continúa con los demás. ya que esta sección contenía un enlace a la sección “Impreso” pero no se encontraba funcionando. así que solo agregue al arreglo en el cual se declaraban las secciones que contendría dicho menú. así que como ya había integrado la sección de impreso en la aplicación. para que la información mostrada fuera precisamente de la edición requerida. y así para cada edición. de C. Validado esto. Al igual que otros errores anteriores. solo trataba de modificar lo que se mostraba en el menú de “Mas Contenidos Locales”. y con esto se soluciono el problema.
Este bug era sencillo. de R. Ahora bien.
de C. en donde agregue las validaciones necesarias para cargar la plantilla correcta. con algunas dudas de como funciona pero al final de todo. y este valor lo obtengo usando un método ya establecido en la aplicación con la cual podemos obtener un parámetro específico. de R. Una vez con la consulta correcta del servicio web. y me confirmo lo que ya sabíamos. solo es cuestión de asignarla a la aplicación y el resto ya se encuentra codificado e implementado. y no cambiaba la información dinámicamente. es decir. que en el servicio web se encuentra el tipo de plantilla que se usara para la portada.3. poniéndose el a mi disposición para cualquier cosa que pudiera surgir. se da por valido y se procede con la corrección de errores. al momento de asignarme mis asesores. inmediatamente se lo informe a mi asesor interno. También me comunique con mi ahora asesor Carlos. Para esto se requería obtener el tipo de plantilla del servicio web.L. quienes eran Daniela Mendizábal Meléndez y Carlos Elías Palacios Salce.
Fue en este instante del progreso de mi residencia. el Ing. y la información. siendo en este momento mi asesora Daniela. Los cambios que se realizaron para este error se basaron en la clase “ListaTitulares.V
Templates de Portada. en donde se me informa que mi asesor actual deja de trabajar para la empresa. El tipo de plantilla se cambia según lo que indique el servicio web.
3. dejaba de serlo para dejarme a cargo de Carlos.java”.
Los templates no son mas que plantillas de diseño. Sin embargo no se estaba obteniendo la información correcta. ya que siempre cargaba la plantilla por default. por motivos ajenos a ellos. así que todo siguió su curso sin alterar nada. Osvaldo Valdés Alvarado. Se manda para revisión. usadas para el acomodo de la información de la portada de la aplicación. Sin embargo. se me informa que tendré dos de ellos.3 Cambio de asesor.
para llenar esta pantalla con datos como los costos de las monedas extranjeras y metales. y lo mostrara en formato numérico en un campo de texto. por lo que en cuanto al desarrollo de este proyecto. que estaba desarrollando Gerardo Arellano. Toda esta información se mostraría en una especie de lista vertical. Para lo que hablando con él. mostrando la fecha de la última actualización en la parte inferior de la misma. precio de compra y venta de monedas y el precio de venta de metales como el oro y la plata.Instituto Tecnológico de la Laguna
3. de C.
Para el siguiente proyecto. y también tendríamos el dato de cuando fue la última actualización. en donde se organizaría la información de manera entendible y accesible al usuario. sin capturas de pantalla. se me asigno ayudar con el desarrollo de algunas secciones de la aplicación que estaba en progreso.5 Descripción del proyecto: BanRegio. me puse de acuerdo y se me asigno el desarrollo de una sección llamada “Monitor Financiero”. información personal entre el banco y el cliente. Esta sección consistía en descargar información desde un servicio web. y por motivos de carga de trabajo necesitaba apoyo en el desarrollo de algunas de las secciones. para no retrasarse en el mismo. que querían el proyecto lo más rápido posible. La cual consistía en implementar un lector de código de barras.L.
Sistemas Integrados en la Nube S. este se tendría que actualizar constantemente. se me pidió que desarrollara la siguiente sección de la aplicación. Por motivos de acuerdos con el cliente.V
. es decir. es decir. y sobre todo por urgencia de parte de la empresa. Es decir. Este campo de texto debía contener información la cual serviría después para realizar una transacción de dinero o pagos de deudas. el cual capturara dicho código a través de la cámara. no se me permite mostrar las pantallas ni código de la aplicación. solo será documentación. de R. que por motivos de tiempo y atraso. Tiempo después se me asigno el desarrollo de otra sección importante.3.
en crear un cliente http para leer la información del servicio web.V
. El segundo método. e InputSource. Lo siguiente lo realice. además del valor de la onza de plata. con todo el contenido del servicio web. como ya lo mencionaba. se proporcionaba en un formato XML. solo resta crear el método adecuado para leer el servicio y mostrarlo en la aplicación. UDIS y TIIE. después de observar que el servicio web del que se extraerían los datos. DocumentBuilder. en cual tendría la información en el formato ya mencionado (XML) y organizado por medio de llaves o “keys”. se integra esta parte de la aplicación. conocer que variables y peticiones voy a enviar. este método nos regresa un ArrayList con todos los elementos con el parámetro que le hemos introducido. me dispuse a crear el lector del servicio. en un formato legible en XML. se me proporcionan valores como el precio de compra y venta del dólar. Para concluir. de C. y centenario. precio de compra y venta del euro. se pasa por una serie de pruebas y evaluación. tanto por parte de la empresa como por parte del cliente. obteniendo los elementos por nuestra llave con un método de la clase Document. que no seria otra cosa que un lector del servicio. el cual queda satisfecho con el resultado y mi trabajo se da por bien terminado. para poder acomodar en la pantalla el diseño preciso. solo resta mostrarla al usuario.
Primeramente se me proporciono la dirección del servicio web a utilizar. como también la fecha de la ultima actualización disponible. Una vez al analizar el servicio web. con las que podía crear un documento de ese tipo. Una vez con toda esta información en nuestras manos y ya adaptada para nuestro beneficio. usando las clases DocumentBuilderFactory. llamado getElementsByTagName. consiste en la conversión de esa cadena.L. y saber que información me regresara exactamente. Con todos estos valores obtenidos del servicio web. Los cuales acomodaremos según el orden predeterminado que nos proporciona la empresa cliente. de R. y otro método el cual me convertiría dicha información en un documento tipo XML. cargaría toda la información. valor de los CETES. El primer método se basa. que recibe como parámetro la clave de los elementos que queremos obtener. por lo que me dispuse a analizar el mismo para encontrar los parámetros usados. la información se guardaría en una simple variable de tipo String. y manejar todas sus variables de una manera rápida. en base a las ya mencionadas llaves. onza de oro.
directamente a donde nosotros la podamos necesitar. la actividad que se tendría que ejecutar seria la del anterior nombre.lector. acomodando el código obtenido en un campo de texto. si su nombre (junto con su paquetería) fuera: “com.
Sistemas Integrados en la Nube S. esta lo enfocaba automáticamente y al detectar en la imagen dicho código.final”. leyéndolo y mostrando su valor numérico en un campo determinado de la pantalla. sin que el usuario tuviese que buscar manualmente nada. Por lo que implemente un código en el cual realizaba estas acciones. podríamos validar si se encontraba instalado en el dispositivo para ejecutarlo y si no lo estaba. De esta forma fue como me di a la tarea de investigar la implementación del mismo. haciendo un sonido e indicando que todo esta correcto. buscarlo en la tienda oficial de Android (Google Play). Con la aplicación funcionando y dando los resultados esperados. El lector era una aplicación sencilla a simple vista. solo involucraba mostrar en pantalla la cámara y una línea roja parpadeante que simulaba el lector. Lector de código de barras. el cual debía ejecutar un lector en el dispositivo y capturar un código. de R. y al pasar el código de barras por la cámara.paquete. primera versión. se realizaron las pruebas correspondientes y se transfirió a mi asesor y la empresa para evaluar su funcionamiento. ya que con esta opción. era la de mandar llamar a un lector de código de barras preinstalado en el dispositivo.
La siguiente tarea correspondiente a BanRegio que me fue asignada fue la de implementar un lector de código de barras. de C. y ejecutándola con la opción startActivityForResult. sin embargo. es decir. Para esta opción utilizaba la creación de un Intent con parámetros extra. aun así para mandar llamar la misma. lo capturaba. por ultimo el código numérico capturado se muestra en un campo TextView y el scanner funciona como se esperaba.Instituto Tecnológico de la Laguna
Desarrollo del proyecto. debía conocer el nombre de la aplicación desde su paquetería. de no ser que la aplicación lectora no estuviese instalada.L. la aplicación nos devolverá el valor capturado. así que la primera idea que solucionaba este problema. la utilizaría y el código de barras obtenido se capturaba y mandaba a la aplicación de BanRegio.V
. la empresa no quedo conforme y pidió que se realizaran algunos cambios. y gracias a que teníamos el nombre exacto de la aplicación. Una vez que se mandaba llamar la clase del lector de código de barras con licencia “open source”.
para esto necesitaba crear mi propio lector. se integro el código de este lector. que podíamos usarlo sin ningún temor a usar algo con derechos de autor. Después de integrar el proyecto. Este cambio fue aceptado satisfactoriamente por el cliente. lo que llevaría tiempo de desarrollo ya que no seria una aplicación nada sencilla. de C. Por este motivo busque alguna otra alternativa. actualice su contenido. así que opte por usar esta opción para ahorrarnos tiempo.Instituto Tecnológico de la Laguna
Lector de código de barras.L. lo que quería decir. haciendo la aplicación más compacta y más eficiente. por lo que se mantuvo. investigue si era posible hacer lo que ellos pedían. el código fuente del mismo. pero lo que mas se necesitaba ahorrar en el desarrollo de esta aplicación era tiempo. se dio por bueno. ya que el tipo de licencia nos permite manipular y modificar el código fuente del mismo. ya que lo que ellos necesitaban era que la aplicación lectora de código de barras estuviese integrada en la misma aplicación de BanRegio. con varias y extensas pruebas realizadas. concluyeron que los resultados obtenidos no eran los que ellos esperaban. Para cumplir con los requerimientos del cliente.
Sistemas Integrados en la Nube S. Tiempo después.
Después de una evaluación extensa por parte del cliente. segunda versión. de R. pero en proyecto. y no que necesitara de una aplicación externa ni mucho menos que el usuario tuviese que instalarla si no lo estaba. como opción de “Librería” lo cual quería decir que podemos integrar todo el proyecto como una aplicación externa pero agregada dentro de la misma. Con este punto ya solucionado. y por suerte era de código abierto. usando solo las clases necesarias del lector para que pudiera funcionar. así que esta sección del proyecto cumplió con las expectativas del cliente.V
. es decir. para lo cual encontré la aplicación que anteriormente buscaba en Google Play para instalarla.
así como mostrar solo las más cercanas a la posición del cliente. implementar esta parte de la aplicación. Dirección exacta de la concesionaria. no se me permite mostrar las pantallas ni código de la aplicación.Instituto Tecnológico de la Laguna
Sistemas Integrados en la Nube S. de R. Distancia exacta a la que te encuentras del concesionario más cercano. pero solo en diseño.
Una vez que se me informo acerca de este proyecto. visitar su página web propia o ver el mapa en pantalla completa. Acceso a aplicación externa de VolksWagen. es decir. La información que se mostraría al usuario por parte de la empresa. Mostrar mapa con ubicación del concesionario seleccionado.L. sin capturas de pantalla.V
. en donde el usuario podría navegar por los diferentes menús dinámicos y atractivos. de C.
Tales datos se mostrarían a lo largo de la aplicación.6 Descripción del proyecto: Aplicación VolksWagen. se paso por una evaluación de mi parte para verificar que la aplicación podría ser viable para desarrollarse. lo que desarrolle rápidamente por lo que el día siguiente en que se me había proporcionado la base del mismo. además de implementar el uso de GPS. para evaluar con la empresa cliente si era eso lo que ellos necesitaban. por lo que en cuanto al desarrollo de este proyecto.
Este proyecto fue el último que realice como residente en la empresa. seria información.3. consistía en realizar la aplicación. e inmediatamente envié la aplicación con diseño terminado a su evaluación por parte de mi asesor y la empresa cliente. Se me informo sobre esta aplicación. tal como:
Acceso a la página oficial de la empresa VolksWagen. Comencé por realizar el diseño de la aplicación. para obtener la ubicación exacta del usuario. Tipo de autos que ofrecen al cliente. es decir. primera versión. mostrando los datos de cada una de éstas. Además de llamar a la concesionaria deseada. solo será documentación. y mi trabajo (hasta ese momento).
Desarrollo del proyecto. ya lo había terminado. por lo que se me otorgo un diseño inicial. que es un proyecto de la empresa Volkswagen y que tiene como objetivo orientar al cliente en la elección de su concesionario más cercano. Diseño de la aplicación. Por motivos de acuerdos con el cliente.
La primera pantalla consistía de dos menús. simplemente realizaría el diseño base de la misma.L. y el segundo. y fue aquí donde se desarrollo toda su funcionalidad. la cual se encuentra actualmente en desarrollo por parte de la empresa VolksWagen. así que la primera versión se descartaba por completo. no s me proporciono ninguno de estos. ésta consistía de varias pantallas o Activities. Por lo que esta segunda sección no seria del todo implementada por mí.
Diseño de la aplicación. dando paso a una segunda. con tres enlaces a las 3 divisiones de la sección principal de la aplicación. el desarrollo de la parte de diseño fue relativamente sencilla y también se envió a mi asesor y a la empresa para revisar si seria la versión final que querían para su aplicación. aunque por efectos de pruebas. obtenidos de una lista de los mismos alojados en un servicio web. se integraría con esta otra aplicación.
La segunda sección. un menú inferior que dividía la aplicación en las 2 secciones principales. facilitando así la carga de información.V
. Y un enlace a otro sitio web donde podrías configurar la información de tu aplicación. ya que la empresa aun no alojaba la información necesaria en internet. La primera sección (de las 2 principales) consistía en:
Un enlace a la página principal: la cual mostraba un navegador en la pantalla del dispositivo con la página oficial de la empresa. segunda versión. Afortunadamente se aprobó y se continuó con la parte funcional.
Después de haber pasado por una evaluación por parte del cliente. De esta forma se facilitaba mas el diseño. de R. todo desde internet. también en esta sección podíamos encontrar los concesionarios organizados por distancia de la posición donde se encontrara el usuario. Al igual que la primera versión.
Sistemas Integrados en la Nube S. el primero que ocupaba toda la pantalla. se basaba en una aplicación. y no de una sola pantalla deslizable con múltiples contenidos. se me informo que ya tenían un segundo diseño.Instituto Tecnológico de la Laguna
Consistía en 4 pantallas que se mostrarían deslizando el dedo por la pantalla de izquierda a derecha o viceversa y en cada pantalla mostrando información diferente. para posteriormente integrar esa aplicación a la que me encontraba diseñando en este momento. la cual era completamente diferente. ya que cada pantalla se manejaba por separado. y al terminar. A comparación de la primera versión. de C. Un enlace a los concesionarios de la empresa: en la cual se podía apreciar un listado de todos los concesionarios.
Sistemas Integrados en la Nube S. y Configurador. como Pagina Web. En el menú horizontal. Al seleccionar uno de los elementos del menú inferior. Donde se muestra un menú vertical y uno horizontal en la parte inferior. la aplicación que se encontraba en desarrollo por parte de VolksWagen y que se implementaría su uso en esta sección. según el que se seleccionara. se muestran dos enlaces para navegar entre Dashboard y Marketplace.L. es decir. solo consta de una portada con un logo de la empresa. es decir. aparecería en todas las pantallas. de C.
Desarrollo de sección “Dashboard”. secciones que iremos explicando más adelante. su aspecto seria mas opaco que el que esta seleccionado actualmente. proporcionando un acceso más rápido a las 2 secciones principales. Concesionarios. El menú vertical tiene las funciones que ofrece el Dashboard. de donde se puede ingresar a las características de la misma. que se encuentra ubicado en la parte inferior de la pantalla de nuestro dispositivo. su titulo y una pequeña descripción de la misma.Instituto Tecnológico de la Laguna
Desarrollo de sección “Portada”. el otro quedaría apagado. En general consta de enlaces para la configuración y personalización de esa aplicación. el cual servirá para comprobar conectividad a internet y validar algunos datos. de R. normalmente los iconos serian de color azul.V
. Este menú se mantendría estático en todas las pantallas de la aplicación. el cual se resaltaba de color azul si se seleccionaba y se resaltaba los iconos del color blanco. El diseño de este menú consta de un icono centrado verticalmente y alineado a la izquierda.
Consiste en una tabla de accesos a distintas áreas de la aplicación con la que se enlace. mostrando el logo mientras se valida la información y mostrando un mensaje de error si no se encontraba conectado a internet. de lo contrario accedería inmediatamente a la pantalla principal o Dashboard.
La primera sección de la aplicación era sencilla. Entonces se creo la cuadricula en la cual se mostraba un icono con una imagen y el nombre de ese enlace. correspondiente al titulo de cada función.
Desarrollo de sección “Marketplace”. Se me dijo que esta sección se dejaría para el último y que me concentrara en el desarrollo de la funcionalidad del resto de la aplicación.
Desarrollo de sección “Pagina web”.
Es el primer elemento del menú vertical en la sección Dashboard de la aplicación. Esta sección consta esencialmente de un enlace a una página web, es decir, la pagina web oficial de VolksWagen, la cual se cargara en nuestro dispositivo, directamente con el uso de Activities para que el explorador se ejecute como parte de la misma aplicación.
Desarrollo de sección “Concesionarios”.
Esta es la función más compleja en toda la aplicación, ya que consta de la mayor parte funcional. En esta encontraremos una pantalla principal, en donde se mostrara una lista de todos los concesionarios de la empresa VolksWagen. En esta lista principal, encontraremos a todos los concesionarios de la empresa, su nombre, dirección y una serie de iconos que marcaran el tipo de autos que tiene a su disposición. En la parte superior, se encuentra una barra azul, con el nombre de la sección, en este caso “Concesionarios”, este titulo alineado a la izquierda y centrado verticalmente, en la parte derecha de dicha barra, encontraremos 2 botones, los cuales estarán representados por una imagen, uno con un icono de un GPS, y el otro con un icono de una lupa, haciendo obvio que el segundo es para realizar una búsqueda. Debajo de esta barra se encuentra otra barra pero con una simbología, señalando lo que significa cada icono en la lista de concesionarios. El botón de GPS, habilita la búsqueda por GPS, y mostrara una lista de los concesionarios por cercanía, es decir, encontrara los concesionarios en un radio determinado de distancia, y los listara en la pantalla, de no encontrar ninguno mostrara en la pantalla, “No se han encontrado concesionarios”. La lista mostrada será del mismo tipo que la primera, pero con la diferencia que mostrara la distancia a la que se encuentra cada concesionario, y los mismos se mostrarían ordenados por cercanía. El botón de búsqueda, mostrara y ocultara una barra de texto, por debajo de la barra con la simbología, en donde introduciremos el texto a buscar, si hemos introducido alguna coincidencia entre alguno de los concesionarios, se mostraran las coincidencias en la lista, de lo contrario mostrara un mensaje con la leyenda, “No se encontraron resultados”. Ahora bien, al tocar sobre algún concesionario mostrado en la lista, se nos mostrara otra pantalla, en la cual nos aparecerá en la mitad de la misma, un mapa, el cual mostrara la ubicación exacta de la concesionaria, señalándola con un marcador. En la parte inferior de la pantalla, tendremos un menú con tres
Sistemas Integrados en la Nube S. de R.L. de C.V
opciones, visitar la pagina web del concesionario, mapa del concesionario, y llamar al mismo. El primer elemento de este menú, nos mostrara en nuestro dispositivo la página web del concesionario en curso, la segunda opción, la del mapa, nos mostrara un mapa en pantalla completa en nuestro dispositivo, y la tercera, la opción de llamar al concesionario, nos realizara la llamada. El diseño de este menú es similar al del menú de Dashboard.
Desarrollo de sección “Configurador”.
Esta parte de la aplicación es parecida a la de pagina web, ya que el configurador se cargara en una pagina web, y todos los cambios los realizaremos ahí, igualmente no se le dio importancia a esta sección, ya que la que se tenia que evaluar era la segunda, la de concesionarios, por ser la parte medular de este proyecto y la mas elaborada, por lo que se le dará mayor importancia, esta parte de la aplicación consiste solo en eso, cargar una pagina web para configurar algunas opciones, así pues esta sección se quedará pendiente por el momento. Con esta sección terminada, se procede a la revisión y evaluación por parte de mi asesor, y de la empresa cliente, por lo que les hago llegar la aplicación a ellos y quedo en espera de evaluación.
Cambios en la aplicación, tercera versión.
Modificaciones a la barra de búsqueda. En esta modificación, se me indico que la barra de búsqueda necesitaba estar posicionada por encima de la barra con la simbología, y no por debajo, ya que para ellos seria más estético. Además de este cambio, me tome la libertad de agregar un efecto para la aparición de la misma, y no que su aparición y desaparición fuera tan brusca, así que el efecto era de un crecimiento de la barra y un encogimiento cuando apareciera y desapareciera, respectivamente. Otro de los cambios que se me pidió, fue que al tocar el botón de búsqueda, el cursor se posicionara automáticamente en el campo de texto, obteniendo el foco de la aplicación, es decir que el cursor apareciera en el campo, para indicarle al usuario que podía empezar a teclear lo que deseaba buscar.
Modificaciones a sección de GPS. Las modificaciones que se me indicaron a esta parte de la aplicación, fueron en general sobre el desempeño en el uso del mismo, ya que durante las pruebas se detectaron algunos inconvenientes. Al cargar el apartado de búsqueda por GPS, si no se encontraba habilitado, la aplicación lo habilitaba por si misma, sin necesidad de intervención del usuario, sin embargo, por extrañas razones, no siempre se encendía, y siempre tardaba mucho en encontrar la posición. Después de extensas pruebas para resolver esto, encontré que si ejecutábamos la aplicación en interiores (casas, habitación, edificio), tardaba demasiado en encontrar nuestra posición, pero si se ejecutaba en cielo abierto, el desempeño era notable, pero ahora bien, esto no seria nada cómodo para el usuario, y no seria algo con un desempeño muy bueno. Por esta razón, propuse a la empresa que la posición la obtuviéramos por medio de ubicación por redes inalámbricas y no por GPS, sin embargo, hacer esto tenia una desventaja, la posición por redes inalámbricas, te daría la posición del router si te encuentras conectado por wifi, y no tu posición original, así que se vería alterada la distancia hacia el concesionario, no por mucho, pero si lo haría. Dicho esto, me pidieron una versión con este cambio para posteriormente evaluarlo, aun así, insistí en ver la manera de usar el GPS y no las redes inalámbricas. Modificaciones a la tipografía. Para esta versión, también se me pidió que cambiara las fuentes usadas, por fuentes personalizadas, proporcionadas por la empresa cliente, así que cambie las fuentes, obteniendo una versión mas personalizada al gusto del cliente. También era necesario cambiar el color de algunos de los textos en la aplicación, ya que no eran del color correcto. Modificaciones a pantalla de inicio. En este caso, la pantalla de inicio tenia un logotipo de la empresa, el mismo lo descargue por mi cuenta y no era el logotipo que ellos esperaban. Les explique que era un icono temporal, ya que ellos no me habían proporcionado el indicado, y que con gusto lo cambiaria. Me fue enviado el nuevo icono, lo ajuste y modifique para el gusto del cliente. Este es la ultima modificación, se envía la versión a mi asesor y al cliente de manera que espero la evaluación y nuevos cambios.
además de que el aspecto que daba de pantalla incompleta. Modificaciones a pantalla de inicio. por este detalle se decidió a cambiar por un color mas neutral en cuanto a los diferentes colores de los temas en los dispositivos. y sin desviarnos del diseño de la aplicación. y no horizontal o landscape. se muestra un dialogo de confirmación. de esta manera desapareció ese error. cuarta versión. sin importas si el dialogo era negro.Instituto Tecnológico de la Laguna
Cambios en la aplicación. blanco o cualquier otro color.V
. La pantalla no se mostraba completa o daba la apariencia de mostrarse incompleta. forzarla a cargarse de manera vertical. Así pues.
Modificaciones por orientación. para que al cargar la misma. además que el diseño original contenía una sombra en la parte inferior de la pantalla. Este cambio consistía en configurar la aplicación de tal forma que no rotara al momento de girar el dispositivo.L. sin embargo. al igual se modifico el archivo Manifiest. Nuevamente la pantalla de inicio tenía algunos detalles. el texto siempre resaltaría del fondo. se decidió a poner ese texto en color azul.xml para integrar esta configuración a cada pantalla. era porque según el tema de algunos dispositivos el fondo se mostraba más obscuro. ellos querían que la pantalla se mantuviera en orientación vertical o portrait. mandando a revisión y esperando nuevos cambios y evaluaciones. Modificaciones a marcación de teléfono.
Sistemas Integrados en la Nube S. haciéndolo visible en cualquier circunstancia. El problema aquí es el color del que aparece el numero de teléfono en este mensaje. Para esto realice algunas modificaciones en cada clase de cada pantalla. Por motivos de diseño. Una vez revisada la versión anterior. la cual no tenia integrada esta versión. Al escoger la opción de marcar el teléfono de algún concesionario. de R. en donde aparece el numero de teléfono al que vamos a marcar. De esta manera. así que forcé esta propiedad para hacerla blanca. ya que el dialogo aparece de diferente color según el tema del dispositivo. Además de integrar la sombra en la pantalla. Se me volvió a proporcionar el logotipo de inicio. y las opciones Llamar o Cancelar. y esta versión se concluye. de C. terminamos con los cambios necesarios. El color del texto era originalmente blanco. me hicieron llegar los nuevos cambios.
Después de varias modificaciones y evaluaciones por parte de mi asesor.V
. así que la solución fue simple. Según las evaluaciones por parte de la empresa cliente. de R. Dashboard. quinta versión. Esta modificación se realizo en las secciones. por lo que la imagen se cambio en repetidas ocasiones. el mapa no contaba con una imagen correcta. algunos de los textos no se encontraban debidamente alineados a las necesidades y gustos de ellos. Al realizar la evaluación de la versión anterior. las imágenes perdían nitidez y empezaban a verse distorsionadas o borrosas. Marketplace. Concesionarios. y también se quito y agrego el efecto de la sombra.
Sistemas Integrados en la Nube S. esto es porque no se me habían proporcionado todas las imágenes de todas las resoluciones. para su completa evaluación. De esta manera este cambio se dio por terminado. se envió la aplicación a la empresa. me indicaron como tenían que estar alineados exactamente los textos. Modificaciones a marcador de mapa. de C.Instituto Tecnológico de la Laguna
Cambios en la aplicación. de esta manera. Una vez que me hicieron llegar todas las imágenes. se observo que en dispositivos de resolución mayor. se acoplaron a la aplicación y se noto el cambio.L. Para gusto del cliente.
Modificaciones por resolución de imágenes. Modificaciones en la alineación de textos.
En cuanto a los alances.V
. Además de mostrar al usuario una lista de todas las ediciones a nivel nacional. de C. hay personas que prefieren comprarlo físicamente.Instituto Tecnológico de la Laguna
3. no se tiene acceso a toda la información. son que el usuario pueda ver su edición del diario preferido. es obviamente que la edición es electrónica. ya que los errores se presentaban en toda la aplicación y cada error solucionado era una mejora mas para la aplicación.
Impreso. ya que hay que analizar código que no fue realizado por nosotros y hay que encontrar donde se da el mismo. y a pesar de que esto tiene muchas ventajas. y se tiene que trabajar con datos de prueba.
Los alcances del proyecto impreso. Las limitaciones del mismo. o almacenar una edición en especial que el usuario quiera preservar. de esta forma si se quiere guardar una edición diferente a la local. así que el tiempo es algo considerable.
Los bugs tienen alcances para lograr mejorar la aplicación en general. ya que solo se manejan enlaces seguros.
Bugs Milenio.
BanRegio. podrá descargarse sin mayores problemas. podemos mencionar que es una aplicación para facilitar el manejo de información bancaria a través de un dispositivo móvil. Las limitaciones son que los errores pueden tomar tiempo en resolverse. y poder descargarla en el dispositivo para poder tener acceso a ella cada vez que se requiera. Las limitaciones de este proyecto en general. de R. y haciéndolo de una manera segura.4 Alcances y limitaciones de las actividades.L. es que como se trata de información de un banco.
los concesionarios y la ubicación en un mapa. como su número de teléfono. descargando de manera optima los diarios en las diferentes ediciones. y no todos tenemos internet siempre en nuestros dispositivos.
Aplicación VolksWagen.
3. presentar la información organizada y detallada sobre donde encontrar los concesionarios más cercanos. También hubo cambios en las decisiones por parte del cliente. es decir. y no se volvieron a tener sugerencias sobre los bugs resueltos mientras estuve asignado a ese proyecto.5 Resultados obtenidos. pero afortunadamente todo se logro con un desempeño excelente.
Sistemas Integrados en la Nube S. que aun se encuentra en desarrollo. y tenga toda la información necesaria sobre el mismo. Obteniendo el resultado esperado por el cliente. necesita de acceso a internet.
Impreso.V
. de C. pues es que la aplicación no quedo completa aun.
Las secciones con las que se me pidió auxiliar a mi compañero. mostrando la ubicación exacta con un marcador.
Bugs Milenio. Además de mostrar la información con un diseño atractivo y organizado. y a pesar de los errores y complicaciones en el desarrollo de estas. además de mostrar el diario dentro de la misma aplicación y administrar las descargas de una manera optima. se implementaron de una manera eficiente y aun siguen funcionando.
Afortunadamente la aplicación realiza las tareas que se le solicitaban. de R. En cuanto a las limitaciones. las desarrolle completamente. además que la parte medular de ésta. se solucionaron satisfactoriamente. ya que depende de una tercera.Instituto Tecnológico de la Laguna
La aplicación VolksWagen tiene como alcances.
Todos los errores que me fueron asignados.L. esa seria una desventaja.
La aplicación muestra satisfactoriamente la información deseada. y los detalles de cada concesionario. su dirección y todos los detalles. para que el cliente acuda a la que mas le agrade.
puedo decir que esta experiencia es una muy buena oportunidad para crecer en todos los sentidos.Instituto Tecnológico de la Laguna
Conclusiones y recomendaciones. haciendo al estudiante formarse a un nivel de trabajo y reforzando sus valores de compromiso. ya que toda esta experiencia te hace creer en ti mismo y crear soluciones factibles para los clientes. que el ámbito laboral es muy distinto al ámbito estudiantil. pero gracias al trabajo en equipo de la empresa donde laboro. creando. Además de tomar en cuenta la ayuda de tus asesores. También es importante mencionar que para resolver un problema es importante investigar en varias fuentes de información. resolviendo e innovado en soluciones para tener a un cliente contento y satisfecho. profesional. No darse por vencido en el intento. logramos sacar todo proyecto a flote. trabajo en equipo. y para la empresa en donde labores.L. con las que es capaz de poner en práctica sus habilidades y conocimientos obtenidos a lo largo de toda su etapa estudiantil. y durante la creación de los proyectos realizados. En el periodo comprendido de la residencia profesional. se tuvieron problemas con la comunicación entre clientes y la empresa. y ciertas ocasiones bajo presión. tanto laboral.
La Residencia Profesional es la actividad realizada por un estudiante de alguna carrera. innovando. Durante el periodo de residencia profesional. Cabe mencionar. se han reforzado todos los conocimientos. y probar muchas posibilidades antes de descartar un problema. responsabilidad. rediseñando o renovando las necesidades de una empresa. pero también aprovechando toda oportunidad para seguir creciendo como profesionista y como persona. aun así. ya que aumentan las responsabilidades y las presiones de trabajo. para resolver los problemas que se presenten. inclusive conviviendo en un ambiente laboral. Hubo también problemas en cuanto al desarrollo e implementación de las aplicaciones que se me asignaron. de tus compañeros de trabajo y sobre todo de tu familia.V
. por lo que se retrasaba un poco el desarrollo de los mismos. sin solucionarlo. además de otorgar la experiencia y confianza en cuanto a un ambiente laboral se refiere. Como punto de vista propio. se logro terminar en tiempo y forma todos los proyectos realizados y programados. todo esto para poder crecer y seguir respondiendo a las demandas que el mundo nos exige. y personalmente. ya que este medio es de mayor responsabilidad. ya que los clientes no respondían inmediatamente a los cuestionamientos de los proyectos y de nosotros. así como creatividad para responder a los problemas o cuestionamientos que se darán a lo largo de tu vida. ayudando y dando un servicio en un nivel laborar real y competitivo. de R. verificar su veracidad y saber si la misma te es útil o no. de C.
es decir. y además existen muchos egresados con deseos de trabajar y que ellos pueden necesitar. Document: representa todo el documento HTML o XML.
Activity: Esta es la clase . normalmente con artefactos o módulos de software concretos. incluso. y sobre todo mantener un cliente contento y seguro de los servicios que le estamos ofreciendo. entonces encontrar nuevos talentos en este sistema operativo.L.V
Glosario de términos. esta lista crecerá a medida que se inserten en ella más elementos. de C. es la raíz del árbol de documentos. DocumentBuilder: Define el API para obtener instancias de documento DOM desde un documento XML. Framework: Estructura conceptual y tecnológica de soporte definido. Esta clase permite contener y ordenar objetos.java con la que controlaremos el funcionamiento de nuestra aplicación. Como recomendación a la empresa donde laboro. Permite ejecutar operaciones en segundo plano y definir los resultados en el UI thread sin tener que quebrarnos la cabeza manipulando threads y handlers.
Sistemas Integrados en la Nube S. ya que es un mercado muy grande. así como deben expandirse mas en el mercado de Android. de R. el primer elemento del ArrayList tiene como índice el 0. Debemos recordar que el índice de un ArrayList empieza en 0 (cero). para darle la oportunidad a nuevos talentos. que cada día crece mas y mas.Instituto Tecnológico de la Laguna
Nosotros como ingenieros en sistemas debemos encontrar siempre la opción mas optima para implementar. DocumentBuilderFactory: Define una API de fábrica que permite a las aplicaciones para obtener un analizador que produce árboles DOM objeto de documentos XML. Con esta clase. creo que deberían expandir mas la misma. y expandirse aun mas. AsyncTask: La clase AsyncTask nos ayuda a los desarrolladores a darle un uso adecuado y más fácil al UI thread de nuestras aplicaciones. ArrayList: Es un objeto que actúa como una lista que implemente la interfaz Collection de java. puede almacenar objetos duplicados. y proporciona el acceso primario a los datos del documento. desarrollar soluciones factibles y rápidas para este mundo competitivo. un programador de aplicaciones puede obtener un documento de XML. Desde aquí vamos a crear el código que nosotros necesitemos para realizar lo que mas nos convenga. es decir. ofrecer un servicio confiable a todos los clientes. Conceptualmente. Su tamaño es dinámico. así también darse a conocer de una manera mas publicitaria. ya que las oportunidades son muchas. con base a la cual otro proyecto de software puede ser más fácilmente organizado y desarrollado.
diseñándola a nuestro gusto y conveniencia. haciendo uso de los diferentes componentes que nos ofrece el SDK. Su uso más importante es en la puesta en marcha de las actividades.V
. Layout: Esta es como se representa cada una de las pantallas que se van a crear en nuestro proyecto. en las que pueden considerarse como la unión entre actividades. la cual extiende o utiliza las aplicaciones del dominio. Landscape: Es el termino utilizado para indicar que la orientación de la pantalla es horizontal. ListView: Componente que muestra una lista deslizable de forma vertical. Popup: El término denomina a las ventanas que emergen automáticamente (generalmente sin que el usuario lo solicite). Esta aplicación adicional es ejecutada por la aplicación principal e interactúan por medio de la API. de C. bibliotecas. Portrait: Es el termino que se utiliza para indicar que la orientación de la pantalla es vertical. tal como un icono.Instituto Tecnológico de la Laguna
Típicamente. se encarga de calcular su medición a partir de la imagen de modo que se puede utilizar en cualquier controlador de distribución. Intent: Es una descripción abstracta de una operación a ser realizada.L. ImageView: Muestra una imagen arbitraria. Es decir. entre otras herramientas. Staffing: Termino que se refiere a tener el personal necesario para realizar los trabajos y tareas requeridas por una empresa. Proporciona una facilidad para realizar enlaces de tiempo de ejecución entre el código en diferentes aplicaciones. las ventanas emergentes se utilizan con el objeto de mostrar un aviso publicitario de manera intrusiva. A menudo. puede incluir soporte de programas. para así ayudar a desarrollar y unir los diferentes componentes de un proyecto. La clase ImageView puede cargar imágenes de diversas fuentes (tales como recursos o proveedores de contenido). Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio. de R. y provee una estructura y una especial metodología de trabajo. y varias opciones de visualización tales como el escalado y tintado. Plugins: Es una aplicación que se relaciona con otra para aportarle una función nueva y generalmente muy específica. Se trata básicamente de una estructura de datos pasivo que sostiene una descripción abstracta de una acción a realizar.
Sistemas Integrados en la Nube S. es la parte en la que vamos a ver y modificar como se vera la aplicación en la pantalla de nuestro dispositivo. y un lenguaje interpretado. las cuales pueden personalizarse y ejecutarse con alguna acción en específico.
de C. Trello: Plataforma online donde las empresas pueden organizar y distribuir las tareas de un proyecto. sirven para organizar la información y mostrarla de una manera determinada.
Sistemas Integrados en la Nube S. siendo útil cuando varias aplicaciones se deben comunicar entre sí o integrar información. Deriva del lenguaje SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. así las personas pueden ver lo que tienen que hacer y mantenerse al día en sus proyectos y sus responsabilidades. (Bases de datos Silberschatz). Una TextView es un editor de texto completo.V
. A diferencia de otros lenguajes. Templates: Termino usado para referirse a una plantilla de diseño. es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C).L. Xml: siglas en inglés de eXtensible Markup Language (lenguaje de marcas extensible). les permite editarlo. XML da soporte a bases de datos.Instituto Tecnológico de la Laguna
TextView: Muestra un texto para el usuario y. de R. opcionalmente. sin embargo la clase básica está configurada para no permitir la edición. es decir.
google.com/reference/android/widget/TextView.android.qoppa. de C.java?r=9 http://www.com/questions/12279300/android-gridview-selected-item-background-color-change-whilepressing http://stackoverflow.android.android.com/reference/javax/xml/parsers/DocumentBuilderFactory.com/reference/android/location/LocationManager.24c/AndroidPdfViewer/src/com/sun/pdfview/PDFRenderer.com/questions/3351553/how-to-show-an-activity-as-pop-up-on-other-activity http://www.org/maven2/org.com/questions/1563328/android-special-url-to-open-marketplace-to-a-specific-app http://developer.sgoliver.com/p/droidreader/source/browse/trunk/src/de/hilses/droidreader/PdfRender.com/project/repo1.com/source/andpdf/tags/0.com/questions/6055730/gridview-elements-changes-their-place-dynamically-when-scrollscreen http://stackoverflow.android.html http://developer.com/questions/8447861/onlocationchanged-is-not-called-automatically https://developers.org/ http://stackoverflow.com/questions/9016890/add-views-to-linearlayout-programmatically https://github.Instituto Tecnológico de la Laguna
Bibliografía.sgoliver.sgoliver.sgoliver.com/jblough/Android-Pdf-Viewer-Library http://blog.V
.com/android/pdfsdk/guide/sourcesamples/RenderToBitmap.it/2011/04/04/imageview-zoom-and-scroll/ http://www.net/blog/?p=1979 http://developer.1. de R.android.android.asp?id=174 https://code.com/2010/04/29/android-development-using-gps-to-get-current-location-2/ http://www.com/questions/8221556/opening-pdf-file-programmatically-is-going-into-menu-page http://grepcode.net/blog/?p=1949 http://www.com/questions/3841317/how-to-see-if-wifi-is-connected-in-android https://groups.html
Sistemas Integrados en la Nube S.android-spa.com/guide/topics/location/strategies.android.com/questions/4468621/android-load-pdf-pdf-viewer http://stackoverflow.com/reference/android/content/Intent.html http://developer.html http://developer.android.com/reference/android/widget/ImageView.L.google.google.com/forum/?fromgroups=#!topic/android-developers/KKSo8RZOpt4 http://www.com/reference/android/os/Looper.html http://stackoverflow.google.org/index.firstdroid.com/geeks/how-use-external-fonts-android http://stackoverflow.com/guide/topics/ui/layout/gridview.com/reference/android/location/LocationProvider.android10.com/nl_article.swinglabs/pdf-renderer/ http://stackoverflow.html http://developer.html http://developer.html http://www.com/questions/3831019/how-to-read-a-pdf-in-android http://www.sephiroth.com/maps/documentation/android/reference/com/google/android/maps/OverlayItem http://www.google.com/maps/documentation/android/hello-mapview https://developers.android.fpdf.androidadb.html http://developer.php/articleslocationmaps/226-android-location-providers-gps-network-p http://developer.maven.
http://stackoverflow.php?t=10948&sid=8dad4c9ef550ecb61f2ba51aa92bd9e0 http://stackoverflow.j ava.net/blog/?p=2019 http://stackoverflow.botskool.java http://www.com/reference/org/w3c/dom/Document.com/reference/android/location/Location.gnostice.android.html http://developer.com/questions/4678498/convert-pdf-to-html-in-php http://www.com/questions/10698360/how-to-convert-a-pdf-page-to-an-image-in-android http://stackoverflow.html http://stackoverflow.java http://code.html http://www.com/p/droidreader/source/browse/trunk/src/de/hilses/droidreader/PdfRender.com/viewtopic.net/blog/?p=1887 http://developer.android.
More From This User55059047 Informe Final de Actividades Del Servicio SocialSistemas Operativos
Proyecto Residencia ING by Luis Macias Luna11 viewsEmbedDownloadRead on Scribd mobile: iPhone, iPad and Android.Copyright: Attribution Non-Commercial (BY-NC)List price: $0.00Download as DOCX, PDF, TXT or read online from ScribdFlag for inappropriate contentMore informationShow less

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución