Desarrollo de una aplicación de Podcast sobre Android

De
Publicado por


Hoy en día, los dispositivos móviles y, más concretamente, los teléfonos móviles de última generación, constituyen una realidad que ofrece al usuario no sólo una forma de comunicarse, sino también de divertirse, aprender e interactuar con aquello que le resulte interesante. El sistema operativo Android, propiedad de Google, busca ser una firme alternativa a otros sistemas ya ampliamente extendidos como Symbian o IOS. Por otra parte, la evolución de Internet hasta desembocar en lo que se denomina la web 2.0, ha supuesto una transición hacia aplicaciones y tecnologías cada vez más orientadas al usuario. Este es el caso de los podcasts y RSS. El presente proyecto busca aunar las posibilidades que ofrecen ambas tecnologías en expansión para sacar un mayor beneficio del que cada una de ellas ofrece por separado. Por un lado, reduce las limitaciones de las suscripciones tradicionales a podcasts, expandiendo además las posibilidades del teléfono móvil. Para tal efecto, abarca el desarrollo completo de la aplicación de nombre DroidCatcher, que permite realizar una gestión completa de suscripciones a Poscast desde el propio teléfono móvil y que busca servir de manual práctico para toda aquella persona que esté interesada en el desarrollo de aplicaciones para Android. _____________________________________________________________________________________________________________________________________
Nowadays, mobile devices and, concretly, smart phones are becoming a reality that offers users not only a way of communication among them, but also a way of having fun, learning and interacting with those things they consider interesting. Android operative system, owned by Google, aims to be a solid alternative to other widely extended systems like Symbian or IOS. Otherwise, Internet evolution has led to what is called web 2.0, that has resulted in a transition to user-oriented applications and technologies. This is the case of podcasts and RSS. This project seeks to join the possibilities that both technologies offer to get a bigger benefit than each one provides separately. First, it reduces limitations of traditional podcasts subscription and it also expands the capabilities of current smart phones. For this purpose, this project covers the complete development of the application named DroidCatcher, which allows the management of podcasts subscriptions from the mobile phone and seeks to serve as a practical guide for anyone who is interested in applications development over Android platform.
Ingeniería Técnica en Telemática
Publicado el : jueves, 18 de agosto de 2011
Lectura(s) : 100
Fuente : e-archivo.uc3m.es
Licencia: Más información
Atribución, no uso comercial, sin cambios
Número de páginas: 136
Ver más Ver menos

UNIVERSIDAD CARLOS III DE MADRID
ESCUELA POLITECNICA SUPERIOR
INGENIERIA DE TELECOMUNICACION
PROYECTO FIN DE CARRERA
Desarrollo de una aplicaci on de Podcast sobre
Android
Autor: Carlos Salguero Guzm´an
Tutor: Celeste Campo
18 de agosto de 2011Agradecimientos
Muchos recuerdos vienen a mi cabeza a la finalizaci´on de este proyecto
de fin de carrera. Momentos buenos y tambi´en momentos malos. No ha sido
una tarea sencilla el poder terminarlo, pero ahora que llega su fin no puedo
olvidarme de todas aquellas personas que me han apoyado en los buenos y
malos momentos de los ultimos´ anos˜ y que me han facilitado de una u otra
manera este dif´ıcil objetivo. A todos ellos, amigos y familiares, much´ısimas
gracias.
Tambi´en me gustar´ıa dar mi m´as sincero agradecimiento a Celeste, mi
tutora, por su tiempo y dedicaci´on durante todos estos meses.
Finalmente, no puedo olvidarme de mis padres, Eugenio y Paquita,
y de Alberto, Cristina, Uge y Maribel, por su incesante apoyo, las risas
compartidas con ellos y las magn´ıficas discusiones tambi´en. Y por supuesto
a Raquel, porque siempre est´a ah´ı y porque con ella no puede haber malos
momentos.
CarlosProyecto Fin de Carrera
Desarrollo de una aplicaci on de Podcast sobre Android
Resumen
Hoy en d´ıa, los dispositivos m´oviles y, m´as concretamente, los tel´efonos
m´oviles de ultima´ generaci´on, constituyen una realidad que ofrece al usuario
no s´olo una forma de comunicarse, sino tambi´en de divertirse, aprender e
interactuar con aquello que le resulte interesante. El sistema operativo An-
droid, propiedad de Google, busca ser una firme alternativa a otros sistemas
yaampliamenteextendidoscomoSymbianoIOS.Porotraparte,laevoluci´on
de Internet hasta desembocar en lo que se denomina la web 2.0, ha supuesto
una transici´on hacia aplicaciones y tecnolog´ıas cada vez m´as orientadas al
usuario. Este es el caso de los podcasts y RSS.
El presente proyecto busca aunar las posibilidades que ofrecen ambas tec-
nolog´ıasenexpansi´onparasacarunmayorbeneficiodelquecadaunadeellas
ofrece por separado. Por un lado, reduce las limitaciones de las suscripciones
tradicionales a podcasts, expandiendo adem´as las posibilidades del tel´efono
m´ovil. Para tal efecto, abarca el desarrollo completo de la aplicaci´on de nom-
breDroidCatcher,quepermiterealizarunagesti´oncompletadesuscripciones
aPoscastdesdeelpropiotel´efonom´ovilyquebuscaservirdemanualpr´actico
para toda aquella persona que est´e interesada en el desarrollo de aplicaciones
para Android.
Carlos Salguero Guzm an 2
Ingenier a Tecnica de Telecomunicaciones: Telem aticaProyecto Fin de Carrera
Desarrollo de una aplicaci on de Podcast sobre Android
Abstract
Nowadays, mobile devices and, concretly, smart phones are becoming a
reality that offers users not only a way of communication among them, but
also a way of having fun, learning and interacting with those things they
consider interesting. Android operative system, owned by Google, aims to be
a solid alternative to other widely extended systems like Symbian or IOS.
Otherwise, Internet evolution has led to what is called web 2.0, that has
resulted in a transition to user-oriented applications and technologies. This
is the case of podcasts and RSS.
This project seeks to join the possibilities that both technologies offer
to get a bigger benefit than each one provides separately. First, it reduces
limitations of traditional podcasts subscription and it also expands the ca-
pabilities of current smart phones. For this purpose, this project covers the
complete development of the application named DroidCatcher, which allows
the management of podcasts subscriptions from the mobile phone and seeks
to serve as a practical guide for anyone who is interested in applications
development over Android platform.
Carlos Salguero Guzm an 3
Ingenier a Tecnica de Telecomunicaciones: Telem aticaIndice general
1. Introducci on 1
1.1. Motivaci´on del proyecto . . . . . . . . . . . . . . . . . . . . . 1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Contenido de la memoria . . . . . . . . . . . . . . . . . . . . . 3
2. Estado del arte 5
2.1. Introducci´on a la plataforma Android . . . . . . . . . . . . . . 5
2.1.1. Arquitectura. . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2. Versiones de la plataforma . . . . . . . . . . . . . . . . 6
2.1.3. La m´aquina virtual Dalvik . . . . . . . . . . . . . . . . 8
2.1.4. Estructura de una aplicaci´on Android . . . . . . . . . . 9
2.1.5. Fichero AndroidManifest . . . . . . . . . . . . . . . . . 10
2.1.6. Activity . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.7. Servicios . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.8. Broadcast Receivers . . . . . . . . . . . . . . . . . . . 20
2.1.9. Content Providers. . . . . . . . . . . . . . . . . . . . . 22
2.1.10. Intents . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.11. Interfaz de Usuario . . . . . . . . . . . . . . . . . . . . 26
2.1.12. Almacenamiento de Datos . . . . . . . . . . . . . . . . 29
2.2. RSS y archivos multimedia . . . . . . . . . . . . . . . . . . . . 32
2.2.1. ¿Qu´e es RSS? . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.2. ¿Por qu´e usar RSS? . . . . . . . . . . . . . . . . . . . . 33
2.2.3. ¿C´omo funciona RSS? . . . . . . . . . . . . . . . . . . 33
2.2.4. Estructura de un documento RSS . . . . . . . . . . . . 34
2.2.5. ¿C´omo se usa RSS? . . . . . . . . . . . . . . . . . . . . 36
2.2.6. ¿C´omo publicar noticias en un feed RSS? . . . . . . . . 36
2.2.7. ¿C´omo saben los navegadores que hay un feed RSS en
una p´agina web? . . . . . . . . . . . . . . . . . . . . . 36
2.3. Podcasts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4Proyecto Fin de Carrera
Desarrollo de una aplicaci on de Podcast sobre Android
3. DroidCatcher: Gestor de Podcast 38
3.1. Descripci´on de DroidCatcher . . . . . . . . . . . . . . . . . . . 39
3.2. Funcionamiento de la aplicaci´on . . . . . . . . . . . . . . . . . 40
3.2.1. Descripci´on de la funcionalidad de la aplicaci´on . . . . 40
3.3. Descripci´on de clases . . . . . . . . . . . . . . . . . . . . . . . 50
3.3.1. Diagrama de clases de DroidCatcher . . . . . . . . . . 50
4. Desarrollo e implementaci on deher 58
4.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2. AndroidManifest . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3. Punto de partida de la aplicaci´on: Interfaz de Usuario . . . . . 60
4.3.1. Navegaci´on por pestanas˜ . . . . . . . . . . . . . . . . . 61
4.3.2. Relaci´on Activity layout . . . . . . . . . . . . . . . . . 62
4.3.3. Aspecto y funcionamiento de cada pestana˜ . . . . . . . 66
4.3.4. layout de PodcastList . . . . . . . . . . . . . . . . . . . 66
4.3.5. PodcastList . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3.6. CursorPodcastListAdapter . . . . . . . . . . . . . . . . 69
4.3.7. Otros elementos importantes de la interfaz de usuario . 71
4.3.8. Layouts comunes . . . . . . . . . . . . . . . . . . . . . 71
4.4. Construcci´on y acceso a la base de datos . . . . . . . . . . . . 72
4.4.1. DataBaseHelper . . . . . . . . . . . . . . . . . . . . . . 72
4.4.2. SQLiteDatabase . . . . . . . . . . . . . . . . . . . . . . 73
4.5. Servicios:Reproducci´ondeepisodios,serviciodedescarga,ser-
vicio de busqueda´ de actualizaciones . . . . . . . . . . . . . . 76
4.5.1. Gesti´on de los Servicios . . . . . . . . . . . . . . . . . . 76
4.5.2. Servicio de Audio . . . . . . . . . . . . . . . . . . . . . 78
4.5.3. Interfaz AIDL . . . . . . . . . . . . . . . . . . . . . . . 78
4.5.4. Servicio de Descargas . . . . . . . . . . . . . . . . . . . 81
4.5.5. de Actualizaciones Autom´aticas . . . . . . . . 85
4.6. ProcesamientodearchivosXML.PeticionesHTTPysubscrip-
ciones RSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.7. Preferencias de DroidCatcher . . . . . . . . . . . . . . . . . . 89
4.7.1. Definici´on de las preferencias en XML. . . . . . . . . . 89
4.7.2. Consulta de las desde otros componentes
de la aplicaci´on . . . . . . . . . . . . . . . . . . . . . . 91
4.8. Efectos gr´aficos. Animaciones . . . . . . . . . . . . . . . . . . 92
4.8.1. Definici´on de animaciones . . . . . . . . . . . . . . . . 93
5. Pruebas 95
Carlos Salguero Guzm an 5
Ingenier a Tecnica de Telecomunicaciones: Telem aticaProyecto Fin de Carrera
Desarrollo de una aplicaci on de Podcast sobre Android
6. Historia del proyecto 99
6.1. Presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.1.1. Personal . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.1.2. Material e infraestructuras . . . . . . . . . . . . . . . . 103
6.1.3. Resumen de costes . . . . . . . . . . . . . . . . . . . . 103
7. Conclusiones y trabajos futuros 105
7.1. finales . . . . . . . . . . . . . . . . . . . . . . . . 105
7.2. Dificultades . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.3. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . 107
A.Manual de instalaci on y desarrollo 109
A.1. Instalaci´on de DroidCatcher . . . . . . . . . . . . . . . . . . . 109
A.2.on del SDK . . . . . . . . . . . . . . . . . . . . . . . . 110
A.2.1. SDK de Android . . . . . . . . . . . . . . . . . . . . . 110
A.2.2. Instalaci´on de ADT . . . . . . . . . . . . . . . . . . . . 110
A.3. Configuraci´on del Dispositivo Virtual Android, AVD . . . . . 111
A.4. Creaci´on de un proyecto Android . . . . . . . . . . . . . . . . 112
A.5. Compilaci´on y ejecuci´on de la aplicaci´on . . . . . . . . . . . . 113
A.5.1. Ejecuci´on en un emulador . . . . . . . . . . . . . . . . 113
A.5.2.on en un dispositivo . . . . . . . . . . . . . . . 115
A.6. Depuraci´on de la aplicaci´on . . . . . . . . . . . . . . . . . . . 115
A.6.1. La perspectiva Debug en Eclipse . . . . . . . . . . . . . 116
A.6.2. La perspectiva DDMS en . . . . . . . . . . . . . 116
B. Glosario 118
Carlos Salguero Guzm an 6
Ingenier a Tecnica de Telecomunicaciones: Telem aticaIndice de guras
2.1. Arquitectura de Android. . . . . . . . . . . . . . . . . . . . . . 7
2.2. Ciclo de vida de un Activity. . . . . . . . . . . . . . . . . . . . 13
2.3. Ciclo de vida de un Servicio. . . . . . . . . . . . . . . . . . . . 17
2.4. Jerarqu´ıa de vistas. . . . . . . . . . . . . . . . . . . . . . . . . 26
2.5. Proceso de publicaci´on y uso de RSS. . . . . . . . . . . . . . . 33
3.1. Pantalla principal de la aplicaci´on. . . . . . . . . . . . . . . . 40
3.2. Pantalladelaoncuandoseest´areproducien-
do un cap´ıtulo. . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3. Listado con las categor´ıas de Podcast. . . . . . . . . . . . . . . 42
3.4. Suscripci´on mediante URL. . . . . . . . . . . . . . . . . . . . 42
3.5. Busqueda´ de podcasts de cine . . . . . . . . . . . . . . . . . . 43
3.6. Pantalla con las descargas actuales . . . . . . . . . . . . . . . 44
3.7. Preferencias de DroidCatcher . . . . . . . . . . . . . . . . . . 44
3.8. Listado de cap´ıtulos de un podcast . . . . . . . . . . . . . . . 45
3.9. Importar un episodio . . . . . . . . . . . . . . . . . . . . . . . 46
3.10.Explorador de archivos para importar un episodio . . . . . . . 46
3.11.Reproductor de cap´ıtulos . . . . . . . . . . . . . . . . . . . . . 47
3.12.Configuraci´on servicio de actualizaci´on . . . . . . . . . . . . . 48
3.13.Hora de inicia del servicio . . . . . . . . . . . . . . . . . . . . 48
3.14.Notificaci´on de actualizaciones disponibles. . . . . . . . . . . . 49
3.15.on de disp . . . . . . . . . . . 49
3.16.Diagrama UML de las clases utilizadas. . . . . . . . . . . . . . 51
3.17. UML de las clases . . . . . . . . . . . . . 52
3.18.Diagrama UML de las clases utilizadas. . . . . . . . . . . . . . 53
4.1. Jerarqu´ıa de vistas. Tabs. . . . . . . . . . . . . . . . . . . . . 63
4.2.´ıa de Tabcontent. . . . . . . . . . . . . . . . . . 64
6.1. Duraci´on de las tareas del proyecto. . . . . . . . . . . . . . . . 100
6.2. Tiempo dedicado por meses y tareas. . . . . . . . . . . . . . . 101
7Proyecto Fin de Carrera
Desarrollo de una aplicaci on de Podcast sobre Android
6.3. Presupuesto para personal. . . . . . . . . . . . . . . . . . . . . 102
6.4. para material. . . . . . . . . . . . . . . . . . . . . 103
6.5. total del proyecto. . . . . . . . . . . . . . . . . . 104
A.1. Creaci´on de AVD . . . . . . . . . . . . . . . . . . . . . . . . . 112
A.2.on de un nuevo proyecto en Eclipse . . . . . . . . . . . . 114
A.3. Perspectiva DDMS en Eclipse . . . . . . . . . . . . . . . . . . 117
Carlos Salguero Guzm an 8
Ingenier a Tecnica de Telecomunicaciones: Telem aticaCap tulo 1
Introducci on
En las siguientes l´ıneas se hace una breve introducci´on al presente pro-
yecto, exponiendo cu´al es su motivaci´on, qu´e objetivos son los que persigue
y cu´ales son los contenidos ofrecidos en esta memoria.
1.1. Motivaci on del proyecto
Hoy en d´ıa, las comunicaciones m´oviles est´an tan integradas en nuestro
mundo que la mayor´ıa de la gente se siente inc´omoda sin un tel´efono m´ovil.
Ayer,lasfuncionesm´aspopularesdeuntel´efonoeranlasllamadasylosmen-
sajesdetexto(SMS).Hoy,sinembargo,lasprioridadesapuntanadirecciones
tan variadas como distintas a aquella realidad. Un tel´efono moderno, habi-
tualmente denominado SmartPhone [1], es un dispositivo multifuncional que
ayuda a la gente no s´olo a comunicarse entre ella sino tambi´en a aprender,
informarse y divertirse. Y todo esto ha sido posible gracias al desarrollo de
la tecnolog´ıa y, particularmente, al desarrollo de aplicaciones m´oviles que se
benefician de ella [2].
Las primeras aplicaciones m´oviles instaladas en tel´efonos datan de finales
de la d´ecada de los 90. B´asicamente, se trataba de aplicaciones multimedia
muy sencillas: pequenos˜ juegos arcade, calculadoras, pequenos˜ calendarios,
etc. Con la llegada de la tecnolog´ıa WAP [3] y posteriormente nuevas tecno-
log´ıasparalatransmisi´ondedatos(GPRS[4],EDGE[5],3G[6]),eldesarrollo
de tel´efonos m´oviles se convirti´o en algo m´as f´acil y r´apido. De este modo,
el inicio del nuevo milenio fue testigo de una r´apida evoluci´on del merca-
do de los contenidos m´oviles en general y de las aplicaciones para ´estos en
particular.
Para entonces, el mercado de dispositivos m´oviles estaba siendo gradual-
mente conquistado por los denominados SmartPhones o tel´efonos inteligen-
1

¡Sé el primero en escribir un comentario!

13/1000 caracteres como máximo.