Sign up & Download
Sign in

Ontwerp en Implementatie in Android

by Maarten Lambert, Gijs Vanderhoydonk, Hans Moorkens, Frans Guelinckx
Info (2010)

Abstract

Dit is het verslag voor de Android-opgave van Multimedia: Modelleren en Programmeren van groep 5. Wij hebben een applicatie uitgewerkt die gebruikers toelaat waar ook ter wereld allerlei informatie op te vragen over CDs binnen enkele seconden adhv de barcode op de cover. De belangrijkste uitdagingen waren het omzetten van de afbeelding van een barcode naar een eigenlijk barcode, het vinden van een databank die alle nodige informatie bevat en het vinden van audio-samples. We hebben hier vooral uit geleerd hoe het Android-platform in elkaar zit en welke mogelijkheden de nieuwe mobiele devices bieden.

Cite this document (BETA)

Available from Frans Guelinckx's profile on Mendeley.
Page 1
hidden

Ontwerp en Implementatie in Android

Ontwerp en Implementatie in Android
Groep 5
Blog: http://mume4life.blogspot.com
Maarten Lambert, 1
ste
Master CW
Gijs Vanderhoydonk, 1
ste
Master CW
Hans Moorkens, 1
ste
Master CW
Frans Guelinckx, 1
ste
Master CW
Abstract - Dit is het verslag voor de Android-opgave van Multimedia: Modelleren en Programmeren van groep 5.
Wij hebben een applicatie uitgewerkt die gebruikers toelaat waar ook ter wereld allerlei informatie op te vragen
over CD’s binnen enkele seconden adhv de barcode op de cover. De belangrijkste uitdagingen waren het omzetten
van de afbeelding van een barcode naar een eigenlijk barcode, het vinden van een databank die alle nodige
informatie bevat en het vinden van audio-samples. We hebben hier vooral uit geleerd hoe het Android-platform in
elkaar zit en welke mogelijkheden de nieuwe mobiele devices bieden.
Ingediend op: 2 november 2009
——————————

——————————
1.Idee
Initieel was er het idee om de Flex-applicatie te
herschrijven voor Android-phones. Het team wou
echter het mobiele aspect van Android (waarover later
meer) ten volle uitbuiten en de oorspronkelijke
MusiCow zou hier zwaar tekort schieten. Er diende
dus een herwerkt storyboard gemaakt te worden. Het
eerste idee dat er uit de bus kwam is gelijk ook het
enige gebleven en heeft het team verder uitgewerkt
tot een volwaardige Android-applicatie.
Kort samengevat dient de applicatie gebruikt te
worden om informatie op te vragen over CD’s in
lokale winkels, bij vrienden thuis, enzovoort; dit alles
aan de hand van de barcode op de cover van de CD.
Men gaat als volgt te werk: de gebruiker neemt een
foto van de barcode, de applicatie zet deze foto om in
een geldige code, vraagt allerlei informatie op bij zeer
uiteenlopende internetdiensten en geeft deze ten
slotte weer.
Initieel was het de bedoeling om naast de
artiestnaam, albumnaam en audio-samples ook
reviews, geotagging
1
, links naar muziek-shops en de
mogelijkheid om dit alles op te slaan, te integreren in
de applicatie. Tijdsgebrek heeft het team er echter toe
aangezet het arsenaal aan diensten in te perken om zo
toch een werkende applicatie te kunnen tonen op de
demo.
Door het feit dat de applicatie draait op een
draagbaar apparaat, kan de gebruiker eender waar,
eender welke CD inscannen. Er kan binnen enkele
seconden ter plekke beslist worden, op basis van de
informatie die de applicatie weergeeft, of het de
moeite waard is om er geld aan uit te geven. Het
mobiele aspect van de applicatie is dus prominent
aanwezig, maar zoals eerder vermeld heeft het team
dit niet volledig kunnen uitbuiten wegens tijdsgebrek.
Er had namelijk nog zeer veel functionaliteit
toegevoegd kunnen worden, zoals het opzoeken van
prijzen van concurrende winkels, de locatie waar de
CD ingescanned is, het weergeven van reviews,...
Helaas is deze applicatie niet de enige in de
Android-wereld die gelijkaardige functionaliteit
aanbiedt. Er bestaat echter ook niet één enkele
autofabrikant in de hele wereld en is het aan
concurrerende fabrikanten (of in ons geval software
developers) om zich te onderscheiden. Daarnaast is de
Android-MusiCow afhankelijk van een uitgebreid
aanbod van APIs, wat ook de Achilles-hiel is van de
applicatie. Informatie van verschillende databases kan
inconsistent zijn; de tracklist die weergegeven wordt
kan bvb niet overeenkomen met de samples die
beluisterd kunnen worden. Beter zou zijn als er maar
één enkele dienst afgesproken wordt waarvan
geweten is dat de informatie consistent en volledig is.
Het team had hiervoor Amazon in gedachten, maar
deze API is zo groot en ingewikkeld dat het beter leek
Multimedia: Modelleren en Programmeren 2009-2010?? ? ? ? ? ? 1/7
1 Geotagging: Het toevoegen van geografische metadata aan uiteenlopende media zoals afbeeldingen, video’s,...
Page 2
hidden
om te gaan voor eenvoudigere diensten en zodoende
alles op tijd af te krijgen.
Om af te sluiten worden de positieve punten
van de applicatie nog eens opgesomd. Een android-
phone is draagbaar en kan bij wijze van spreken
overal mee naartoe genomen worden, informatie
opvragen is zo eenvoudig als het nemen van een foto,
informatie opvragen gaat zeer snel en alle informatie
wordt gebundeld in één enkele applicatie.
2.Storyboard (bijlage 2)
1. Bij het starten van de applicatie wordt de
gebruiker aangespoord een barcode te
fotograferen. De camera-stream wordt
weergegeven met daaronder een “Capture”-knop.
2. Wanneer alle informatie opgehaald is,
wordt deze weergegeven onder de verschillende
tabs. Bij Info staan oa een albumcover, artiestnaam,
albumnaam, reviews...
3. Onder de tab Songs staat een tracklist en
wordt er ook de mogelijkheid gegeven aan de
gebruiker om samples te beluisteren
4. Onder de tab history staan alle eerder
ingescande CDs en de plaats waar ze gescand zijn,
weergegeven in google maps.
Zoals eerder vermeld, is het team afgeweken
van het Flex-storyboard omdat daarbij voornamelijk
de draagbaarheid van een Android-phone niet tot zijn
recht kwam. Bovendien hebben de reviews en de
History-feature het niet gehaald wegens tijdsgebrek;
zeer jammer aangezien deze een zeer grote
meerwaarde hadden kunnen bieden.
3.Software -ontwerp
In deze sectie wordt de architectuur van de
applicatie besproken. Tevens zullen enkele overwogen
alternatieven voor bepaalde ontwerpbeslissingen aan
bod komen en worden de voor -en nadelen kort
overlopen.
Bespreking architectuur
In deze sectie zullen de belangrijkste klassen
overlopen worden aan de hand van het
architectuurdiagramma dat terug te vinden is in
bijlage 1.
• MainActivity: Deze klasse stelt de
hoofdactiviteit voor die aangemaakt wordt bij het
opstarten van de applicatie. De klasse instantieert
de verschillende tabs en implementeert een
OnClickLister die input van de gebruiker toelaat.
• MultiFormatReader: D e
MultiFormatReader bevat de mogelijkheid een
afbeelding in te lezen en om te zetten naar een
geldige barcode. Deze klasse komt van de ZXing
library die ondersteund wordt door het Android
platform.
• BarcodeImageConverter: Deze klasse laat
toe een image om te zetten naar een array van
pixels die door de MultiFormatReader vervolgens
kan gebruikt worden om de barcode in te lezen.
• Scraper: Aangezien er op meerdere plaatsen
html-content van het net geparsed diende te
worden, werd er besloten een algemene klasse
beschrijft die op basis van patronen snel info uit
een website kan halen. Indien er later nog meer
webinhoud geparsed zou moeten worden, zou dit
zeer snel en simpel kunnen gebeuren.
• MP3Scraper: Deze klasse implementeert de
Scraper klasse. Ze gebruikt de website
"www.musicmp3.ru" om op zoek te gaan naar
samples van een bepaalde cd. Aan de hand van
onderzochte terugkerende patronen werd een
systeem ontwikkeld waarbij de link naar elk
sample snel gevonden kan worden.
• MP3Player: Hier wordt het afspelen van
muziek verzorgd. Ze krijgt een lijst van
albumliedjes terug vanuit de hiervoor besproken
MP3Scraper en geeft mogelijkheid ze te
beluisteren.
• AsinFinder: Dit is een tweede klasse die de
Scraper klasse gebruikt voor het vinden van
informatie op webpagina's. De applicatie gebruikt
de Amazon API voor de omzetting van een
barcode naar een Amazon product code (Asin). Dit
is nodig omdat de Asin code gebruikt wordt voor
het ontvangen van het bij de barcode horende
album en artiest.
• SignedRequestHelper: Deze hulpklasse
werd overgenomen uit de Amazon API. De klasse
krijgt de juiste argumenten mee om een request te
doen, en geeft vervolgens de juiste url om de
request uit te voeren terug.
• AsinInfoRetreiver: Deze klasse staat in
voor het ontvangen van informatie over de artiest
Multimedia: Modelleren en Programmeren 2009-2010?? ? ? ? ? ? 2/7

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

2 Readers on Mendeley
by Discipline
 
by Academic Status
 
100% Student (Master)
by Country
 
100% Belgium

Groups

MuMe