Aplicação Android 8Trackly Relatório Final Mestrado Integrado em Engenharia Informática e Computação Sistemas Distribuídos Grupo: Diogo Albuquerque Valente Silva – 080509034 Luís Miguel Guimarães Pimentel Fonseca – 100509139 Maria Antonieta Dias Ponce de Leão e Oliveira – 070509157 Sofia Alexandra Gonçalves Rodrigues – 080509048 Faculdade de Engenharia da Universidade do Porto Rua Roberto Frias, sn, 4200-465 Porto, Portugal 27 de Maio de 2012 Conteúdo 1 Introdução.............................................................................................................. 3 2 Descrição do Problema e Funcionalidades.............................................................. 3 3 Arquitectura do Sistema ......................................................................................... 3 4 Interface com o Utilizador...................................................................................... 4 Home Screen ............................................................................................................. 4 Search Screen ............................................................................................................ 4 Playing Mixes Screen ................................................................................................ 4 DJ Screen .................................................................................................................. 4 5 Dificuldades Encontradas....................................................................................... 4 6 Divisão de trabalho ................................................................................................ 5 7 Conclusões e Perspectivas de Desenvolvimento ..................................................... 5 Bibliografia ................................................................................................................... 6 A Imagens ................................................................................................................. 7 2 1 Introdução Neste projeto pretende-se a implementação de uma aplicação Android que conjuga a utilização da API1 de um website de músicas, 8track, em conjunto com a API de um website de letras de músicas, chartLyrics. Este relatório encontra-se iniciado por uma pequena introdução descrevendo, um pouco o projeto, de seguida é descrito o problema proposto e as funcionalidades desenvolvidas, a arquitetura do sistema, descrição ilustrativa da interface de utilização, seguida das dificuldades encontradas, uma secção de informação relativa à divisão do trabalho e, por último, a conclusão com reflexões sobre objetivos alcançados e futuros. 2 Descrição do Problema e Funcionalidades O problema proposto consiste numa aplicação Android que permite o uso das seguintes funcionalidades: Tocar uma mix2, sendo que se a letra da música a tocar se encontrar na base de dados do chartLyrics essa será apresentada ao utilizador; Obter as dez mixes mais recentes; Obter informação sobre uma determinada mix; Procuras mixes semelhantes; Selecionar a próxima mix; Obter uma lista com os nomes das músicas já ouvidos, na mix decorrente; Ver informação relativa a um utilizador; Obter lista de músicas criadas pelo utilizador; Obter lista de músicas que o utilizador gosta; Seguir um utilizador; Procurar mixes com recurso a etiquetas. 3 Arquitectura do Sistema A aplicação foi divida em três componentes - a gráfica, a que implementa a API do 8tracks e a que implementa a ChartLyrics. Na componente gráfica foram utilizadas as novas potencialidades apresentadas na versão ICS nomeadamente a ActionBar, muito útil na navegação entre janelas e um layout mais apelativo. Foi usada a biblioteca SherlockActionBar para garantir a compatibilidade com versões anteriores do Android desta forma conciliando as funcionalidades recentes com o suporte de um elevado numero de utilizadores 1 Aplication user interface – é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços. 2 Coletânea de músicas criada por membros do site. 3 4 Interface com o Utilizador Home Screen Ao iniciar a aplicação é aplicação é apresentada ao utilizador uma janela inicial na qual são visualizadas as Hot Mixes top de mixes favoritas dos utilizadores. A partir desta vista inicial é possível escolher uma mix do top para tocar e ir para a vista de Search, que permite a pesquisa de mixes tanto por etiquetas como por palavraschave. Search Screen Na vista de Search é possível efetuar uma pesquisa de mixes tanto através de etiquetas como através de palavras-chave. Os tipos de etiquetas existentes são fixos, no entanto as palavras-chave da pesquisa a efetuar tanto podem ser tipos de musica, como as etiquetas, como nome da mix ou do user Playing Mixes Screen Esta vista é apresentada ao utilizador, aquando da seleção de uma mix. Pode visualizarse no topo da vista o botão para o home. Mais abaixo visualiza-se uma imagem que representa a capa da mix e um botão que corresponde ao utilizador criador da mix. Na zona central encontra-se uma caixa de texto que apresenta a letra da música que está a tocar, se esta se encontrar na base de dados. Na parte de baixo do ecrã pode visualizar-se o nome da música e o autor, um botão que permite o play de uma música, assim como o botão de skip que permite avançar para a música seguinte e um botão que permite adicionar a música aos favoritos. DJ Screen Esta vista aparece quando se pressiona o botão do utilizador criador de uma determinada mix. Na parte superior desta vista é possível visualizar o avatar do utilizador, assim como o seu nome e um botão que permite fazer follow do utilizador. Mais abaixo encontram-se dois botões que permitem visualizar as mixes criadas pelo utilizador ou as mixes favoritas do utilizador. 5 Dificuldades Encontradas Desde já pretende-se salientar que no último dia de desenvolvimento do projeto o site do 8tracks se encontrou em baixo na maior parte do dia, apenas esteve disponível durante cerca de 4 horas no final da tarde, o que invalidou uma avaliação correta e eficaz do funcionamento dos módulos desenvolvidos/aperfeiçoados nesse mesmo dia. Assim a maior dificuldade encontrada foi a fraca documentação da API do 8tracks e a sua instabilidade. Outra dificuldade encontrada foi o uso do emulador de Android, uma vez que é bastante lento. 4 6 Divisão de trabalho Todos os membros contribuíram de forma equivalente, mostrando-se sempre empenhados, apesar da carga de trabalho individual de cada um, e disponíveis a ajudar. Houve sempre a preocupação de todos em contribuir para evolução dos restantes membros, discutindo melhores práticas ou partilhando informações. 7 Conclusões e Perspectivas de Desenvolvimento O desenvolvimento deste projeto demonstrou-se muito mais complexo que inicialmente previsto principalmente o facto de que no dia da entrega final do projeto a maior parte das novas funcionalidades implementadas não ter podido ser devidamente testada. Foi um projeto interessante que permitiu alguma familiarização, de todos, com a programação Android e com todas as dificuldades e imprevistos dai aventes. Os principais desenvolvimentos futuros seriam melhorar as funcionalidades já implementadas. Seria também bastante interessante a implementação de novas funcionalidades a começar por todas as funcionalidades existentes na API. 5 Bibliografia 8tracks. (s.d.). Obtido em Maio de 2012, de 8tracks: http://8tracks.com/developers/api ChartLyrics. (Maio de 2012). ChartLyrics API. Obtido em Maio de 2012, de http://www.chartlyrics.com/api.aspx Wkipedia. (26 de Abril de 2012). API. Obtido em 27 de Maio de 2012, de Wikipédia, a enciclopédia livre: http://pt.wikipedia.org/wiki/API Créditos Provide credit to me somewhere. If used here on dA, feel free to credit me as redheadstock. If you use them anywhere else, however, you must credit me either as “Obsidian Dawn” or www.obsidiandawn.com 6 A Imagens Fig. 1 - Modelo UML 7