44
DESARROLLO DE UN CLIENTE ANDROID PARA LA NOTIFICACIÓN DE CONVOCATORIAS DE DIPLOMADOS EN FUNDACIÓN FUNDASABERES EN LA CIUDAD DE CARTAGENA AUTORES: C12209047 ALVAREZ REALES, ANDRES ELIAS C12209045 BERMUDEZ FUENTES, WILSON C12209042 BLANCO PEREZ, JHONATAN C12209050 MIRANDA VIDES, FERNANDO LUIS C12209038 PUENTES GONZALEZ, GUSTAVO ADOLFO C12209048 ROCHA SALGADO, EDER CARLOS C12209039 RODRIGUEZ MALDONADO, YURANIS MARGARITA C12209040 RODRIGUEZ SABALZA, RODRIGO JESUS C12209049 TORRES CASTRO, JONATHAN FUNDACION TECNOLOGICA ANTONIO DE AREVALO FACULTAD DE INGENIERIA PROGAMA DE TEGNOLOGIA EN SISTEMAS – lV SEMESTRE CARTAGENA 2014 [Escriba texto] Página 1

Proyecto de aula 4 semestre terminando

Embed Size (px)

DESCRIPTION

proyecto de aula tecnología en sistemas 4 semestre techar

Citation preview

Page 1: Proyecto de aula 4 semestre terminando

DESARROLLO DE UN CLIENTE ANDROID PARA LA NOTIFICACIÓN DE CONVOCATORIAS DE DIPLOMADOS EN FUNDACIÓN FUNDASABERES EN LA CIUDAD DE CARTAGENA

AUTORES:

C12209047 ALVAREZ REALES, ANDRES ELIASC12209045 BERMUDEZ FUENTES, WILSONC12209042 BLANCO PEREZ, JHONATANC12209050 MIRANDA VIDES, FERNANDO LUISC12209038 PUENTES GONZALEZ, GUSTAVO ADOLFOC12209048 ROCHA SALGADO, EDER CARLOSC12209039 RODRIGUEZ MALDONADO, YURANIS MARGARITAC12209040 RODRIGUEZ SABALZA, RODRIGO JESUSC12209049 TORRES CASTRO, JONATHAN

FUNDACION TECNOLOGICA ANTONIO DE AREVALOFACULTAD DE INGENIERIA

PROGAMA DE TEGNOLOGIA EN SISTEMAS – lV SEMESTRECARTAGENA

2014

Página 1

Page 2: Proyecto de aula 4 semestre terminando

DESARROLLO DE UN CLIENTE ANDROID PARA LA NOTIFICACIÓN DE CONVOCATORIAS DE DIPLOMADOS EN FUNDACIÓN FUNDASABERES EN LA CIUDAD DE CARTAGENA

AUTORES:

C12209047 ALVAREZ REALES, ANDRES ELIASC12209045 BERMUDEZ FUENTES, WILSONC12209042 BLANCO PEREZ, JHONATANC12209050 MIRANDA VIDES, FERNANDO LUISC12209038 PUENTES GONZALEZ, GUSTAVO ADOLFOC12209048 ROCHA SALGADO, EDER CARLOSC12209039 RODRIGUEZ MALDONADO, YURANIS MARGARITAC12209040 RODRIGUEZ SABALZA, RODRIGO JESUSC12209049 TORRES CASTRO, JONATHAN

TUTOR

ING. CARLOS CACERES OCHOA

FUNDACION TECNOLOGICA ANTONIO DE AREVALOFACULTAD DE INGENIERIA

PROGAMA DE TEGNOLOGIA EN SISTEMAS – III SEMESTRECARTAGENA

201

Página 2

Page 3: Proyecto de aula 4 semestre terminando

CONTENIDO

1. INTRODUCCIÓN…………………………………………………………………….………….……4

1.1 RESUMEN ABSTRACT…………………………….………………………………………....……5

2. PLANTEAMIENTO DEL PROBLEMA……………………………………………………….……..6

2.1 DESCRIPCION DEL PROBLEMA……..………………………………………………….…..…..6

2.2 FORMULACION DEL PROBLEMA…………………………………………………….………....7

3. JUSTIFICACION…………..………………………………………………………………….….…...8

4. OBJETIVOS…………………….…………………………………………………………….…........9

4.1 OBJETIVO GENERAL…………………………………………………………………..……….….9

4.2 OBJETIVO ESPECIFICOS……………………………………………………………..…….….…9

5. MARCO REFERENCIAL………………………………………………………………………....…10

5.1 MARCO TEORICO…………………………………………………………………………………13

5.2 MARCO HISTORICO………………………………………………………………………………18

5.3 MARCO LEGAL……………………………………………………………………………...……..19

6. DISEÑO METODOLOGICO…………………………………………………………………..…….20

6.1 TIPO DE INVESTIGACION………………………………………………………………..………25

6.2 METODOS DE INVESTIGACION………………………………………………………..…….…26

6.3 DELIMITACION………………………………………………………………………………..……27

6.4 ESPACIAL……………………………………………………………………………………..……27

6.4 TEMPORAL……………………………………………………………………………………….…27

7. CONCLUSION…………………………………………………………………………………..……28

8.BIBLIOGRAFIA…………………………………………………………........................................29

Página 3

Page 4: Proyecto de aula 4 semestre terminando

1. INTRODUCCIÓN

En un entorno tan complejo como lo es el mundo actual, han surgido diversos

adelantos en el campo de la computación distintos inventos y aplicaciones que

han revolucionado el mundo de la informática y de las comunicaciones cada vez

más sofisticados. Con la intención de facilitar x o y problemática en la actualidad

nos encontramos con diferentes lenguajes de programación que nos ayudan a

(PROGRAMAR) en diferentes entornos (GRAFICOS O DIRIGIDOS A EVENTOS).

Hoy en día nos encontramos con diferentes lenguajes de programación como (c+

+, cobol) entre otros muy destacados. que hasta esta fecha ya son obsoletos, a la

hora de programar en la actualidad nos encontramos con java que es un lenguaje

de programación que ha sido de muy útil para los programadores hoy en día.

mundialmente ha sido uno de los lenguajes más utilizados en la historia de la

programación, pero en este momento ha surgido un nuevo sistema operativo que

ha traspasado y superado muchos sistemas operativos que han superados a los

utilizados anteriormente este sistema operativo se hace llamar por sus creadores

(ANDROID) el cual está basado en el S.O kernel de Linux diseñado principalmente

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

inicialmente desarrollado por Android, Inc. Google, cual se ha hecho poderosa

mediante dispositivos móviles por su fácil accesibilidad .

De este sistema operativo podemos encontrar diferentes versiones cada vez más

sofisticadas y con muchas mejoras además de sus numerosas aplicaciones que

son innumerables por su gran variedad y tipo este sistema operativo de una u otra

manera ha llegado de un momento a otro para superar los sistemas operativos

utilizados anteriormente mencionados.

Página 4

Page 5: Proyecto de aula 4 semestre terminando

1.2 RESUMEN ABSTRACT

various operating systems, specifically in the above we promote throughout this

draft class which is the operating system ANDROID time but previous to this

marked one way or another the computing world simply based on a line of cyber

commands recognized algorithm called by the system even in these times full xxl

century is not as complicated because the pc has already made the algorithm to

perform any task or program everything a pc hits or throws the screen has

reference to an algorithm .

This being all soft for us as end users , operating systems have evolved greatly

about everything after the passage of time more and more have been perfected by

their creators or newer versions exist animations or graphics and a wide variety of

operating systems for each client.

This operating system designed fostered in this classroom is of great vitality for us

as we as technologists systems have the evidence to be always at the forefront of

the various systems are daily this is one of the easiest operating systems to

schedule half the world Alternatively for compatibility with systems other than him

and its easy accessibility.

In conclusion we have much time to study these operating systems but like

everything in this field has its pros and cons time is running against us but not

against technology every day there are more technological advances in medical

formulas as improvements but time will it is no secret that will new operating

systems that meet all the requirements with user expectations that we finally that

we use daily without them everything would be complex for us thankfully is not the

case because we as humans carry a step beyond the technology but sometimes

we programmed not seem all that exists in this technological world today.

Página 5

Page 6: Proyecto de aula 4 semestre terminando

2. PLANTEAMIENTO DEL PROBLEMA

2.1 DESCRIPCION DEL PROBLEMA

La condición tecnológica en la que también discurre y se regenera la dinámica

social hoy en día como tal, se debe considerar la necesidad de crear aplicaciones

con el sistema operativo (ANDROID) para dispositivos móviles cuyo arquetipo

emblemático no sólo representa un avance tecnológico muy importante para la

humanidad, sino que configura así mismo un nuevo horizonte de desarrollo

tecnológico;

Toda sociedad no sobrevive si no es en un medio gradualmente más sofisticado

tecnológicamente, a nivel local y global. Esta situación no forma parte del futuro,

conforma el presente. Las necesidades de crear aplicaciones android para

dispositivos móviles han generado mucha importancia en la humanidad ya que

son de vital utilidad, tanto que las utilizan en labores empresariales. Ya que ellas

facilitan las tareas funcionales de quienes lo requieren básicamente se da en la

evolución que han tenido a través del tiempo las aplicaciones android no solo se

utilizan en dispositivos móviles sino también en tabletas y todo esto para mejorar

los avances tecnológicos que nos sirven de gran utilidad en nuestro diario vivir.

Las diferentes aplicaciones android que han creado y diseñado los

programadores las hacen con el fin de mejorar las fallas que han tenido las

aplicaciones de otros sistemas utilizados en celulares

6

Page 7: Proyecto de aula 4 semestre terminando

2.2. FORMULACIÓN DEL PROBLEMA

¿Desarrollo de un cliente android para la notificación de convocatorias de diplomados en fundación fundasaberes en la ciudad de Cartagena?

7

Page 8: Proyecto de aula 4 semestre terminando

3. JUSTIFICACIÓN

El mundo como lo conocemos actualmente no sería el mismo sin los sistemas operativos o (Software) .que durante todo este tiempo en la existencia de la informática y la computación han surgido para las diversas tareas específicas así como las de programar o ejecutar programas con una simple línea de comandos informáticos llamados por excelencia algoritmos (PROGRAMACION).

En el planeta entero existen millones de celulares y dispositivos móviles utilizados por los seres humanos los cuales trabajan con un sistema operativo llamado (android) que es un sistema operativo basado en el kernel de Linux, desarrollado para dispositivos táctiles como celulares, tabletas etc.

De allí surge la necesidad de desarrollar aplicaciones para dispositivos móviles pues cada día necesitamos nuevas aplicaciones que faciliten nuestra vida ya que un celular actualmente no es solo para hacer y recibir llamadas si no que se ha convertido en una herramienta de trabajo.

Para desarrollar aplicaciones móviles existen diversos programas, pero principalmente trabajaremos con java que es un lenguaje de programación de propósito general, concurrente, orientado a objetos y basado en clases que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.

La realización de este trabajo investigativo es importante ya que con él se puede investigar la importancia y funcionamiento de las diferentes herramientas y programas para desarrollar aplicaciones para móviles, además conoceremos los distintos parámetros de una aplicación de dispositivo móvil.

8

Page 9: Proyecto de aula 4 semestre terminando

4. OBJETIVOS

4.1. Objetivo General

Como diseñar física y lógicamente un cliente (android) para la notificación de convocatorias de diplomados en la fundación fundasaberes en la ciudad de Cartagena

4.2. Objetivos Específicos

Indagar y aprender formas de como diseñar física y lógicamente una aplicación (android) para móviles

Saber identificar los procesos que se deben tener en cuenta para diseñar una aplicación (android) para móviles.

Analizar las ventajas que trae el uso de una aplicación (android) para móviles.

Tener en cuenta el estado de software y hardware de cada uno de los procesos para el desarrollo óptimo y certero funcionamiento de una aplicación (android) para móviles.

Investigar a fondo cada aspecto de los procesos, el desarrollo, cuáles son sus componentes, y que es lo que se necesita para crear una aplicación (android) para móviles.

9

Page 10: Proyecto de aula 4 semestre terminando

5. MARCO REFERENCIAL

En 2013 en palo alto california fue fundadad la conpañia Android Inc, lo cual centraba sus funciones en desarrollo de software para telefonos moviles en 2005 la compañía google al adquirir Android Inc, contrato aparte del equipo de confundadores de este, entre los que se incluian Andy Rubin, Rick Miner, Nick Sears y Chris White. El equipo que encabezo Rubin desarrollo una plataforma para dispositivos moviles que anunciada a fabricantes de dispositivos y operadores bajo la promesa de dotar de un sistema actualizable y fexible. Este sistema esta basado en Karnel de Linux.

En 2006 ya existian rumores acerca de que google tenia intencion de entrar en el mercado de la telefonia movil ya que la empresa se empeñaba en que sus servicios de busqueda y aplicaciones estarian disponibles para estos medios para el 2007 se difundio la noticia de que la empresa estaba solicitando patente de telofonia movil.

El 5 de noviembre de 2007 se creo con el fin de desarrollar estandares abierto para dispositivos moviles la Open Handset Alliance (OHA), un consorcio de varias compañias dedicadas a la telefonia, software, comerzializacion, semiconductores y fabricantes electronicos. Junto con la plataforma de la OHA, el 12 de noviembre se estreno su primer producto , el Android Software Development Kit (SDK), una plataforma para dispositivos moviles construida sobre la version 2.6 de Karnel de Linux.

Es hasta el 22 de octubre de 2008 cuando sale al mercado el primer telefono que ejecuta ANDROID.

La caracteristicas del sistema de ANDROID esta formado por alrededor de 12 millones de lineas de codigo de estas 2.8 millones de lineas de java y 1.75 millones de lineas de c++ y 3 millones de lineas son de XML.

Una aplicación móvil o app es una aplicación informática diseñada para ser ejecutada en teléfonos inteligentes, tabletas y otros dispositivos móviles. Por lo general se encuentran disponibles a través de plataformas de distribución, operadas por las compañías propietarias de los sistemas operativos móviles como Android, iOS, BlackBerry OS, Windows Phone, entre otros. Existen aplicaciones móviles gratuitas u otras de pago, donde en promedio el 20-30% del costo de la aplicación se destina al distribuidor y el resto es para el desarrollador.1 El término app se volvió

10

Page 11: Proyecto de aula 4 semestre terminando

popular rápidamente, tanto que en 2010 fue listada como Word of the Year (Palabra del Año) por la American Dialect Society.

El desarrollo de aplicaciones para dispositivos móviles requiere tener en cuenta las limitaciones de estos dispositivos. Los dispositivos móviles funcionan con batería y tienen procesadores menos poderosos que los ordenadores personales. Los desarrollos de estas aplicaciones también tienen que considerar una gran variedad de tamaños de pantalla, datos específicos de software y configuraciones. El desarrollo de aplicaciones móviles requiere el uso de entorno de desarrollo integrado. Las aplicaciones móviles suelen ser probadas primero usando emuladores y más tarde se ponen en el mercado en periodo de prueba. Actualmente un gran número de empresas se dedica a la creación profesional de aplicaciones. Aún así, han surgido páginas web como Mobincube3 donde un usuario común puede crear aplicaciones de manera gratuita y sin conocimiento de programación.

5.1 MARCO TEORICO

Android es un conjunto de sistemas informáticos para dispositivos móviles que incluye un sistema operativo y otras aplicaciones.

La arquitectura de los componentes principales de Android se puede ver en la siguiente Arquitectura de componentes de Android.

Servicio web

Un servicio web (en inglés, Web Service o Web services) es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones. Distintas aplicaciones de software desarrolladas en lenguajes de programación diferentes, y ejecutadas sobre cualquier plataforma, pueden utilizar los servicios web para intercambiar datos en redes de ordenadores como Internet. La interoperabilidad se consigue mediante la adopción de estándares abiertos. Las organizaciones OASIS y W3C son los comités responsables de la arquitectura y reglamentación de los servicios Web. Para mejorar la interoperabilidad entre distintas implementaciones de servicios Web se ha creado el organismo WS-I, encargado de desarrollar diversos perfiles para definir de manera más exhaustiva estos estándares. Es una máquina que atiende las peticiones de los clientes web y les envía los recursos solicitados

Cliente

El cliente es una aplicación informática o un computador que consume un servicio remoto en otro computador, conocido como servidor, normalmente a través de una red de telecomunicaciones.1

11

Page 12: Proyecto de aula 4 semestre terminando

El término se usó inicialmente para los llamados terminales tontos, dispositivos que no eran capaces de ejecutar programas por sí mismos, pero podían conectarse e interactuar con computadores remotos por medio de una red y dejar que éste realizase todas las operaciones requeridas, mostrando luego los resultados al usuario. Se utilizaban sobre todo porque su costo en esos momentos era mucho menor que el de un computador. Estos terminales tontos eran clientes de un computador mainframe por medio del tiempo compartido.

Actualmente se suele utilizar para referirse a programas que requieren específicamente una conexión a otro programa, al que se denomina servidor y que suele estar en otra máquina. Ya no se utilizan por criterios de costo, sino para obtener datos externos (por ejemplo páginas web, información bursátil o bases de datos), interactuar con otros usuarios a través de un gestor central (como por ejemplo los protocolos BitTorrent o IRC), compartir información con otros usuarios (servidores de archivos y otras aplicaciones Groupware) o utilizar recursos de los que no se dispone en la máquina local (por ejemplo impresión)

Uno de los clientes más utilizados, sobre todo por su versatilidad, es el navegador web. Muchos servidores son capaces de ofrecer sus servicios a través de un navegador web en lugar de requerir la instalación de un programa específico

wsdl

WSDL son las siglas de Web Services Description Language, un formato XML que se utiliza para describir servicios Web . La versión 1.0 fue la primera recomendación por parte del W3C y la versión 1.1 no alcanzó nunca tal estatus. La versión 2.0 se convirtió en la recomendación actual por parte de dicha entidad.

WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.

Así, WSDL se usa a menudo en combinación con SOAP y XML Schema. Un programa cliente que se conecta a un servicio web puede leer el WSDL para determinar qué funciones están disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL.

El WSDL nos permite tener una descripción de un servicio web. Especifica la interfaz abstracta a través de la cual un cliente puede acceder al servicio y los detalles de cómo se debe utilizar.

12

Page 13: Proyecto de aula 4 semestre terminando

Protocolo

Un protocolo de comunicaciones es un conjunto de reglas y normas que permiten que dos o más entidades de un sistema de comunicación se comuniquen entre ellos para transmitir información por medio de cualquier tipo de variación de una magnitud física. Se trata de las reglas o el estándar que define la sintaxis, semántica y sincronización de la comunicación, así como posibles métodos de recuperación de errores. Los protocolos pueden ser implementados por hardware, software, o una combinación de ambos

XML

XML, siglas en inglés de eXtensible Markup Language ('lenguaje de marcas extensible'), es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. 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. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones se deben comunicar entre sí o integrar información. (Bases de datos Silberschatz).

XML no ha nacido sólo para su aplicación para Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.

XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.

Framework de aplicaciones: es un conjunto de componentes que pueden ser publicados y usados por cualquier aplicación, esta capacidad permite el reúso de componentes. En la base de todas las aplicaciones hay un conjunto de servicios que incluyen vistas (listas, grids, cuadros de texto, botones e incluso un navegador web embebido), proveedores de contenido que permiten a las aplicaciones acceder a datos de otras aplicaciones, un administrador de recursos que provee de acceso a recursos no estructurados como gráficos, un administrador de notificaciones que le permite a las aplicaciones mostrar alertas personalizadas en la barra de estado, un administrador de actividades que maneja el ciclo de vida de las aplicaciones y provee una navegación histórica común.

13

Page 14: Proyecto de aula 4 semestre terminando

Bibliotecas: Android incluye un conjunto de librerías C/C++ que se usan en varios componentes del sistema. Estas se exponen a través del framework de aplicaciones. Algunas son: biblioteca C del sistema, bibliotecas para administración de multimedia, bibliotecas de visualización 2D y 3D y SQLite como motor de datos relacionales.

Runtime: bibliotecas a nivel del núcleo que soportan la mayoría de funcionalidades que el lenguaje de programación java ofrece.

Cada aplicación Android corre su propio proceso, con su propia instancia de máquina virtual Dalvik, que se soporta a su vez en el kernel Linux para el manejo de procesos a nivel de sistema operativo, tales como hilos y manejo de memoria a bajo nivel.

Kernel de Linux: Android está soportado en una versión 2.6 del kernel de Linux para los servicios básicos del sistema como seguridad, gestión de memoria, gestión de procesos, administración de redes y modelo de drivers. El kernel también actúa como una capa de abstracción entre el hardware y el resto del conjunto de aplicaciones.

14

Page 15: Proyecto de aula 4 semestre terminando

5.2 MARCO HISTORICO.

Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005.12 Es el principal producto de la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de hardware, software y operadores de servicio.10 Las unidades vendidas de teléfonos inteligentes con Android se ubican en el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010,13 14 15 con una cuota de mercado de 43,6% en el tercer trimestre.16 A escala mundial alcanzó una cuota de mercado del 50,9% durante el cuarto trimestre de 2011, más del doble que el segundo sistema operativo (iOS de Apple, Inc.)

El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas al desarrollo de estándares abiertos para dispositivos móviles.21 22 Google liberó la mayoría del código de Android bajo la licencia Apache, una licencia libre y de código abierto.

La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones 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. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager), un framework OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Bionic. El sistema operativo está compuesto por 12 millones de líneas de código, incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1 millones de líneas de Java y 1,75 millones de líneas de C++.

Las primeras aplicaciones datan a finales de los 90’ estas eran lo que conocemos como la agenda, arcade games cumplían funciones muy elementales y su diseño era muy simple la evolución de las aplicaciones (apps) se dio rápidamente gracias a las innovaciones de la tecnología wap y la transmicion de datos (EDGE) esto vino acompañado de un desarrollo muy fuerte de celulares Apole iPhone y junto con él llega muchas propuestas de Smartphone entre ellas Android, la competencia más grande del sistema operativo del iPhone es aquí donde comienza el despunte de las aplicaciones, juegos, noticias, diseño, arte, fotografía, medicina, todo en tus manos gracias a la revolución de las aplicaciones móviles. Desde el momento en que Apple ios y el Android aparecen en el mercado el resto de empresas empieza a desarrollar nuevas tecnologías y lanza Smartphone cada vez más innovadores cada vez más potentes.

Están con nosotros en nuestro día a día, los llevamos a todas partes y son capaces de entretenernos o informarnos hasta trabajar con nosotros las aplicaciones se han vuelto parte de nuestra vida y son ya tan comunes por la variedad de plataformas que podemos llegar a encontrar que cualquiera puede acceder a una.

15

Page 16: Proyecto de aula 4 semestre terminando

Si nos ponemos a pensar en el primer celular con el que tuvimos contacto (que por el simple hecho de poder hacer llamadas era increíble) comparémoslo con los teléfonos actuales y mencionemos las diferencias; llevar una cámara, reproductor de música, consola de videojuego, lectura electrónica de libros, GPS, computadora portátil y teléfono en el bolsillo y todo en un solo dispositivo son cosas que se veían en películas de ciencia ficción y parecían la gran cosa.

5.3MARCO LEGAL

Dado que el proyecto NoteRecorder fue realizado para la plataforma operativa Android, las licencias que se debían tener en cuenta para el desarrollo son las del proyecto Android de la Open Handset Alliance. Estas licencias hacen parte de la iniciativa de código abierto, siendo las principales: GPL V2 para el kernel del sistema operativo y la gran mayoría del resto del sistema Android está licenciado con la Apache Software Licence.

Estas licencias permiten que cualquier persona haga uso, modifique, copie y distribuya el código con el que está construido el sistema Android. De esta manera el uso que se le dio a cada uno de los componentes con los que se desarrolló la aplicación NoteRecorder estaba respetando las respectivas licencias.

Las herramientas utilizadas para el desarrollo de la aplicación son de distribución libre y gratuita, éstas son el IDE Eclipse y el plugin ADT para desarrollo en Android, el Android

SDK y el AVD Manager, accesibles desde http://developer.android.com/sdk/eclipse- adt.html

Por otro lado, el uso de la metodología Scrum para desarrollo de software se basa en las guías que las personas que inventaron la metodología comparten en su página de internet y de los demás recursos que se encuentran en la web con acceso libre.

16

Page 17: Proyecto de aula 4 semestre terminando

6. DISEÑO METODOLOGICO

Android es una solución completa de software de código libre para teléfonos y dispositivos móviles. Es un paquete que engloba un sistema operativo, un "runtime" de ejecución basado en Java, un conjunto de librerías de bajo y medio nivel y un conjunto inicial de aplicaciones destinadas al usuario final (todas ellas desarrolladas en Java). Android se distribuye bajo una licencia libre permisiva (Apache) que permite la integración con soluciones de código propietario.

Android surge como resultado de la Open Handset Alliance13 un consorcio de 48 empresas distribuidas por todo el mundo con intereses diversos en la telefonía móvil y un compromiso de comercializar dispositivos móviles con este sistema operativo. El desarrollo viene de la avalado principalmente por Google (tras la compra de Android Inc. en 2005) y entre las compañías encontramos compañías de software (Ebay, LivingImage...), operadores (Telefónica, Vodafone, T-Mobile...), fabricantes de móviles (Motorola, Samsumg, acer, LG, HTC...) o fabricantes de Hardware (nVidia, Intel o Texas Instruments).

Arquitectura

Android presenta una arquitectura basada en 4 niveles (figura 10), que detallamos a continuación por orden ascendente:

• Un kernel linux versión 2.6 que sirve como base de la pila de software y se encarga de las funciones más básicas del sistema: gestión de drivers, seguridad, comunicaciones, etc.

17

Page 18: Proyecto de aula 4 semestre terminando

• Una capa de bibliotecas de bajo nivel en C y C++, como SQLite para persistencia de datos; OpenGL ES para gestión de gráficos 3D, con aceleración 3D opcional y Webkit como navegador web embebido y motor de renderizado HTML.

• Un framework para el desarrollo de aplicaciones, dividido en subsistemas para

Gestión del sistema como el "Administrador de paquetes", el "Administrador de telefonía" (para la gestión del hardware del teléfono anfitrión) o el acceso a APIs sofisticadas de geolocalización o mensajería XMPP. Los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura está diseñada para simplificar el reuso de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Éste mismomecanismo permite que los componentes

sean reemplazados por el usuario.También incluye un sistema de vistas para manejar el interfaz de usuario de las aplicaciones, que incluyendo posibilidad de visualización de mapas o renderizado html directamente en el interfaz gráfico de la aplicación.

• Aplicaciones: Las aplicaciones base incluyen un teléfono, cliente de email,

programa de envío de SMS, calendario, mapas, navegador, contactos... que pueden a su vez ser usados por otras aplicaciones.

18

Page 19: Proyecto de aula 4 semestre terminando

Arquitectura de Android (reproducida de Wikipedia14)

Las aplicaciones Android están programadas en Java, pero no corriendo sobre Java ME, sino sobre Dalvik, una máquina virtual Java desarrollada por Google y optimizada para dispositivos empotrados. La creación de una VM propia es un movimiento estratégico que permite a Google evitar conflictos con Sun por la licencia de la máquina virtual, así como asegurarse el poder innovar y modificar ésta sin tener que batallar dentro del JCP. Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik. Dalkiv ha sido

19

Page 20: Proyecto de aula 4 semestre terminando

escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente.

. Desarrollo en ANDROID

La comunidad de desarrollo de Android tiene como objetivo hacer el desarrollo de aplicaciones para Android muy sencillo y accesible al mayor número de sistemas posible.

Sita .http://es.wikipedia.org/wiki/Android

20

Page 21: Proyecto de aula 4 semestre terminando

Por ello, todas las herramientas, entornos, demos e instrucciones que se ofrecen son gratuitas y se pueden descargar de su página web, http://developer.android.com.

Entorno de Desarrollo

Android ofrece un plugin para Eclipse que extiende la funcionalidad de éste y facilita el desarrollo de aplicaciones para Android. Además, ofrece las herramientas que utiliza este plugin como scripts de ant para que puedan ser utilizados también desde otros entornos como Netbeans o Intellij IDEA15. Entre las funcionalidades de este plugin se encuentra:

• Emulador de Android. Permite elegir entre distintos terminales móviles y la versión del sistema operativo.

• El acceso a herramientas de desarrollo de Android como tomar capaturas de pantalla, la redirección de puertos, la posibilidad de depurar con puntos de parada o

ver el estado de las hebras y los procesos corriendo en el sistema.)

• Asistentes para la creación rápida de aplicaciones Android

• Editores de código para los distintos archivos de configuración (XML) que facilitan su comprensión y desarrollo

• Interfaces gráficas que permiten el desarrollo de componentes visualmente.

21

Page 22: Proyecto de aula 4 semestre terminando

Figura 11. Vista del emulador de Android

Sita . http://www.jetbrains.com/idea/

22

Page 23: Proyecto de aula 4 semestre terminando

Figura 12. Vista del entorno de desarrollo para Android

23

Page 24: Proyecto de aula 4 semestre terminando

Figura 13. Vista de la plataforma Eclipse

24

Page 25: Proyecto de aula 4 semestre terminando

Modelado de las aplicaciones

Cada aplicación de Android corre su propio proceso de Linux, y a su vez, cada uno de estos procesos corre su propia Máquina virtual Java. (Se aísla la ejecución entre aplicaciones). Para facilitar la reutilización de código y agilizar el proceso de desarrollo, las aplicaciones Android se basan en componentes. Por ejemplo, si una aplicación quiere utilizar una lista con scroll puede utilizar una aplicación que sea simplemente esa lista para hacer la suya sin tener que duplicar el código. Los componentes pueden ser de 4 tipos:

• Actividades. Son interfaces visuales esperando alguna acción del usuario. (Por ejemplo, una aplicación para el envío de mensajes podría tener una actividad que fuera la lista de contactos de la que el usuario elige a uno, otra que fuera el editor de textos para que el usuario escriba el mensaje y otra con parámetros de configuración de la aplicación). Una aplicación puede tener una actividad o más, y desde una actividad se puede invocar a otras y volver nuevamente a la original. Todas las actividades extienden la clase Activity. El contenido visual de cada actividad lo proporcionan una serie de objetos derivados de la clase View. Android proporciona muchos de estos objetos prediseñados como botones, selectores, menús...

• Servicios. Los servicios no tienen interfaz gráfica. Un ejemplo sería la reproducción de una canción. Para una aplicación reproductora podríamos tener varias actividades para mostrar listas de canciones o un reproductor con botones, pero el usuario esperará que la canción siga sonando aún al salir de la aplicación (terminar la actividad), por lo que esta aplicación deberá controlar un servicio para que se reproduzca la música. Cualquier servicio extiende la clase Service.

• Receptores de Eventos. Estos componentes simplemente están escuchando a que se produzcan determinados eventos (batería baja, cambio del idioma del dispositivo, la descarga de una imagen nueva...) Cualquier aplicación puede tener tantos receptores para tantos eventos como quiera, cada uno debe extender la clase BroadCastReceiver. Un ejemplo sería una galería de imágenes que indexa en la aplicación cualquier imagen que el usuario se descargue mediante el navegador un otra aplicación.

• Proveedores de contenidos. Permite que una aplicación ponga ciertos datos a

disposición de otras aplicaciones. Por ejemplo, una grabadora de sonidos puede compartir esos datos con un reproductor de música. Estos datos pueden

Page 26: Proyecto de aula 4 semestre terminando

almacenarse en el sistema de ficheros o en base de datos. Para proveer contenidos, se debe extender la clase ContentProvider.

Además, todas las aplicaciones Android deben tener un fichero AndroidManifest.xml donde se definan todos los componentes de la aplicación así como los permisos que requiere, o los recursos y librearías que utiliza. A continuación se muestra un ejemplo de este fichero que utiliza dos actividades y requiere permiso para acceder a Internet.

Page 27: Proyecto de aula 4 semestre terminando

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.msi.androidrss">

<application android:icon="@drawable/icon">

<uses-permission android:name="android.permission.INTERNET" />

<activity android:name=".RSSReader"

android:label="@string/app_name" />

<activity android:name=".ShowDescription" />

</application>

<uses-permission android:name="android.permission.INTERNET" />

Caso Práctico. Lector de RSS

Para poner en práctica las metodologías ágiles en el desarrollo de una aplicación Android, decidimos hacer una aplicación que mostrase las entradas de un blog que exportase sus entradas en formato RSS 2.0. Para este ejemplo, vamos a realizar únicamente la primera iteración que proponen estas metodologías, por lo que nuestra aplicación será únicamente una primera versión como resultado de una vuelta al ciclo de vida. El único objetivo con esta interacción es conseguir una aplicación que funciona, aunque no tenga todas las funcionalidades requeridas. Así, por ejemplo, en esta primera iteración se han aprendido los conceptos básicos del desarrollo en Android y se ha desarrollado una aplicación que permite leer los feeds de un sitio usando RSS 2.0. Una vez terminada la aplicación, se han identificado diversas funcionalidades que podrían ser añadidas o mejoras al producto que realizar en siguientes iteraciones como podrían ser: almacenar los

Page 28: Proyecto de aula 4 semestre terminando

feeds en la memoria del teléfono, poner un botón de actualizar los feeds, leer otros formatos con RSS 1.0 o Atom.

El ejemplo desarrollado se compone de dos actividades, una que muestra el listado de feeds (extendiendo OnItemClikListener que a su vez extiende a ListActivity) y otra que muestra un feed completo (que simplemente extiende de Activity). Cada actividad tiene su vista asociada a través de un fichero xml. A continuación se muestra a modo de ejemplo como se define la vista de un feed que se compone de una caja de texto (con el texto de la entrada) y un botón de volver.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical">

<TextView android:text="story goes here ...." android:id="@+id/storybox" />

<Button android:text="Back" android:id="@+id/back" />

</LinearLayout>

Page 29: Proyecto de aula 4 semestre terminando

Figura 14. Vista del lector de feeds RSS en el amulador

Page 30: Proyecto de aula 4 semestre terminando

Figura 15. Vista de una noticia seleccionada

Page 31: Proyecto de aula 4 semestre terminando

Publicación de las aplicaciones

Las aplicaciones para Android pueden ser distribuídas y comercializadas a través del Android Market16, un servicio alojado por Android que facilita a los usuarios encontrar y descargar aplicaciones para Android y a los desarrolladores publicarlas. El sistema se encarga además de gestionar las distintas versiones de una aplicación y su compatibilidad

con las distintas versiones del sistema operativo. Cuando se creó Android se decidió que todas las aplicaciones deberían ser gratuitas, lo que frenó mucho su desarrollo. Visto el éxito del iPhone, hace varios meses se decidió dar cabida también a las aplicaciones de pago. Para subir tu aplicación a Android Market simplemente hace falta disponer de una cuenta de Google, el proceso es sencillo y gratuito.

Page 32: Proyecto de aula 4 semestre terminando

6.1 TIPO DE INVESTIGACION

Educativa

6.2 METODOS DE INVESTIGACION

6.3 DELIMITACION

6.4 ESPACIAL

La delimitación espacial de este trabajo tiene como lugar realizar una aplicación móvil para la empresa funda saber ubicada en el centro de la ciudad de Cartagena.

6.5 TEMPORAL

Esta investigación se dio inicio en el segundo semestre periodo del año 2014

Page 33: Proyecto de aula 4 semestre terminando

7. CONCLUSION.

Este proyecto de aula fue de vital importancia para nuestras vidas como personas y como estudiantes de tecnología en sistemas ya que pudimos ver o entrar más al campo de los diversos sistemas operativos en específico en el que fomentamos anteriormente durante todo este proyecto de aula que es el sistema operativo del momento ANDROID pero los anteriores a este han marcado de un modo u otro el mundo de la computación basándose simplemente en una línea de comandos cibernéticos reconocidos por el sistema llamado algoritmo aunque en estos tiempos el pleno siglo xxl ya no es tan complicado porque el pc ya tiene realizado el algoritmo para ejecutar cualquier tarea o programa todo lo que un pc realiza o arroja por pantalla tiene referencia con un algoritmo .

Siendo así todo programable para nosotros como usuarios final, los sistemas operativos han tenido una gran evolución respecto a todo tras el paso del tiempo cada vez más han sido perfeccionado por sus creadores con versiones o nuevas animaciones o gráficos existiendo así una gran diversidad de sistemas operativos para cada cliente.

Este sistema operativo fomentado en este proyectó de aula es de gran vitalidad para nosotros ya que como tecnólogos en sistemas tenemos el indicio de estar siempre en la vanguardia de los diferentes sistemas que salen diariamente este es uno de los sistemas operativos más fáciles de programar medio mundo lo prefiere por su compatibilidad con otros sistemas diferentes a él y su fácil accesibilidad.

En conclusión tenemos mucho tiempo para estudiar estos sistemas operativos pero como todo en este campo tiene su pro y su contra el tiempo corre contra nosotros pero no contra la tecnología día a día hay más adelantos tecnológicos que formulas en medicas a medida del tiempo tendrá mejoras pero para nadie es un secreto que saldrán nuevos sistemas operativos que cumplan con todo lo requerido con las expectativas de los usuarios que finalmente somos los que los utilizamos a diario sin ellos todo sería complejo para nosotros por suerte no es así ya que nosotros como humanos llevamos un paso más allá de la tecnología aunque a veces no parezca nosotros lo programamos todo lo que existe en este mundo tecnológico de hoy.

Page 34: Proyecto de aula 4 semestre terminando

8.BIBLIOGRAFIA

www.wikipedia.org

www.yahoorepuestas.com

www.monografias.com

www.taringa.net

www.slideshare.net

www.ecured.com

www.rincondelvago.com

www.buenastareas.com

www.todoexpertos.com