Sunteți pe pagina 1din 32

Univeritatea Petru Maior Trgu Mure

Facultatea de Inginerie
Specializarea: Calculatoare

LUCRARE DE DIPLOMA

Studiul realizrii aplicaiilor pe


Platforma Android

1
CUPRINS

Capitolul 1. ........................................................................................................................................4
Introducere .......................................................................................................................................4
1.1 Scopul lucrrii ..........................................................................................................................4
1.2Structurarea pe capitole ..........................................................................................................4
Capitolul 2. ........................................................................................................................................6
Aspecte tehnologice ..........................................................................................................................6
2.1 Filozofia Android .....................................................................................................................6
2.2 Ce este totui Android i ce nu este ........................................................................................7
2.3 Framework-ul de dezvoltare ...................................................................................................8
2.3.1 Maina virtuala Dalvik ......................................................................................................8
2.3.2. Android (SDK) ..................................................................................................................9
2.4 Stiva software Android ..........................................................................................................10
2.5 Alte tehnologi foloite ...........................................................................................................12
2.5.1 Java .................................................................................................................................12
2.5.2 Reeua Wireless..............................................................................................................13
2.5.3 Winamp Player ...............................................................................................................15
2.5.4 NetBeans IDE ..................................................................................................................16
Capitolul 3 .......................................................................................................................................17
Cerine, proiectare, .........................................................................................................................17
i implementare ..............................................................................................................................17
3.1 Descrierea aplicaiei ..............................................................................................................17
3.2. Diagrama cazurilor de utilizare ............................................................................................19
3.3 Diagrama de activitate ..........................................................................................................20
3.3.1 Diagrama activitii de Conectare la server .......................................................................21
3.3.2 Diagrama activitii Opiunilor de redare ..........................................................................22

2
3.3.3 Diagrama activitii de distribuire a pieselor .................................................................23
3.4 RempteControlWinamp ........................................................................................................24
3.4.1WinampControlFragment ...............................................................................................26
Capitolul 4. ......................................................................................................................................29
Compararea aplicaiei RemoteControlWinamp cu alte ..................................................................29
aplicaii similare ..............................................................................................................................29
4.1 Media Player Remote iTunes +WMP ....................................................................................29
4.2 WMP Remote PRO .............................................................................................................29
4.3 Media Center Control............................................................................................................30
4.4 Samsung Smart View .............................................................................................................30
Capitolul 5. ......................................................................................................................................31
Concluzii i testri............................................................................................................................31
Bibliografie ......................................................................................................................................32

3
Capitolul 1.

Introducere

1.1 Scopul lucrrii

Aplicaia RemoteControlWinamp i propune abordarea dintr-o alta perspectiv a


interaciunii individ-tehnologie. n aceast era cnd tehnologia a luat o amploare att de mare,
ne dorim s putem avea o interciune ct mai mare, astfel crendu-se aplicaii care s in
pasul cu noile tehnologii.

Acelai lucru i propune i aplicaia de fat, ce reprezint n linii mari, un sistem


RemoteControl pentru uz personal, n care individual i instaleaz pe terminalul sau mobil,dotat
cu un sistem de operare Android aplicaia, avnd astfel acces la controlul propriilor piese din
playlist-ul aplicaiei Winamp din propriul sau calculator, toate acestea fiind podibile utiliznd
tehnolologia de comunicare Wi-fi.

1.2Structurarea pe capitole

Primul capitol ofer o scurta prezentare a prezentei lucrri.

Capitolul 2 va atinge subiectele despre Android, ca i sistem de operare, o istorie a


acestuia, cateva idei despre filozofia Android, pentru a demonstra de ce am ales dezvoltarea
aplicaiei pentru terminale cu sistem de operare Android. Tot n acest capitol vom introduce i

4
noiuni despre proprietaile SDK, aplicaiile native pe care le vom regsii pe fiecare terminal cu
sistemul de operare Android.
De asemenea, n acest capitol voi prezenta tehnologiile, precum i platformele utilizate n
crearea aplicaiei, viznd astfel aplicaia Eclipse utiliznd limbajul de programare Java.

Capitolul 3 este reprezentat de partea de proiectare propriu-zis a aplicaiei, cuprinznd


descrierea aplicaiei, analiza acesteia, precum i descrierea arhitectural a sistemului.
n acest capitol vom regi i noiuni despre implementare, controlului la distan i API-
uri folosite.

Capitolul 4 se refer la studiul de pia realizat, aplicaii similar ce folosesc aceluiai scop,
i anume controlul la distan a melodiilor cu toate caracteristicile necesare (pornire,oprire
melodie, urmtoarea melodie, reglare volum). Tot n acest capitol vom regsi cteva idei cu
privire la aplicaia RemoteControlWinamp n plus faa de aplicaiile de pe piaa, dar i idei pentru
dezvoltarea pe viitor a acestei aplicaii.

Capitolul 5 prezint o parte de concluzi i rezumate a testelor efectuate.

5
Capitolul 2.

Aspecte tehnologice

2.1 Filozofia Android

Pn recent,tehnologia terminalelor/telefoanelor mobile au fost medii nchise,


realizate pe sisteme de operare proprietare fiecri firme productoare de telefoane mobile (Nokia
utiliznd Symbian OS, Apple rulnd iOS, Blackberry avnd Windows Mobile). n acel moment
telefoanele mobile prioritizau rularea unor aplicaii native n detrimentul aplicaiilor create de ali
dezvoltatori.

Astfel i face apariia pe piaa sistemul de operare Android, oferit de cei de la


Google, n care aplicaiile create de dezvoltatori utilizau aceleai API-uri, o uurina i o
fiabilitate mult mai bun i pentru publicul larg, reprezentat de client.

API-urile ofer acces la partea hardware a telefonului mobile, nregistri video, o


mai bun comunicare ntre aplicaii i grafica 2D respectiv 3D. Android ntra pe piaa cu API-uri
excelent documentate, puternice, iar dezvoltatorii de aplicaii reuesc s creeze noi aplicaii
menite a tine pasul cu tehnologiile prezente n zilele noastre.

Telefoanele mobile fiind ntr-o continu dezvoltare tehnologic, Android ofer


oportunitatea de creare de aplicaii pentru telefonoale mobile.Astfel Android se claseaz n topul

6
sistemelor de operare, luptndu-se cu rivali iOS a celor de la Apple, Wndows Mobile, acestea
oferind un mediu mai bogat de dezvoltare i relativ mai simplu a aplicaiilor mobile,dar avnd un
dezavantaj major faa de Android, acela de a fii sisteme de operare proprietare.
n cele mai multe cazuri i propun prioritizarea aplicaiilor native n detrimentul
celor create de teri utilizatori, restricionnd transferul de date ntre aplicaii tere i aplicaiile
native ale telefonului.

Android ofer un mediu deschis de dezvoltare, fiind construit peste un kernel


Linux open source, n care accesul hardware este disponibil tuturor aplicaiilor prin intermediul
librriilor de API-uri. Toate aplicaiile, fie c vorbim de aplicaii tere, fie de cele native sunt
scrise utiliznd acelai API, fiind executate n acelai mediu de execuie.
Dn punct de vedere al utilizatorului repreznta un avantaj, acesta putnd s scoat
sau s nlocuiasc aplicaii native cu alte aplicaii oferite de ctre teri dezvoltatori.

2.2 Ce este totui Android i ce nu este

Android reprezint un sistem de operare Open Source dezvoltat special pentru a putea fi
compatibil i rula pe orice dispozitiv mobil care ndeplinete cerine minime. Ideea de baz a
celor de la Android a fost crearea uni sistem de operare Open Source pentru dispozitivile mobile,
i totodat o platform de dezvoltare pentru crearea aplicaiilor .

Dispozitivele mobile cu sistemul de operare Android sunt livrate cu un set generic de


aplicaii preinstalate , precum:

o -un browser bazat pe Webkit


o -un client de e-mail
o -o aplicaie de management a SMS-urilor
o -aplicaie destinat vizualizrii imaginilor din galerie i un player de muzic
o -aplicaie pentru captarea i nregistrare video

7
o -Android Market- precum i spune i numele reprezint platforma oferit cu scopul
descrcrii aplicaiilor Android
o -Google Maps- acesta find o aplicaie des utilizat find un navigator ce
utilizeaz tehnologia GPS pentru localizare i ghidar, utiliznd hrile
GoogleMaps
o -aplicaie player video YouTube

2.3 Framework-ul de dezvoltare

Toate aplicaiile Android sunt scrise folosind ca i limbaj de programare Java, dar
acestea sunt executate cu ajutorul mainii virtuale denumite Dalvik.

Fiecare aplicaie Android ruleaz ntr-un proces separat n interiorul instanei


Dalvik, astfel lsnd responsabilitatea gestionrii managementul memoriei i al proceselor active
mediului de execuie Android, care asigur existena necesar de resurse oprind anumite procese.

Mediul de execuie Android mpreuna cu compilatorul Dalvik ruleaz pe un kernel


Linux ce asigur interaciunea low-level cu partea hardware a terminalului mobil, incluznd
driverele necesare i partea de gestionare a managementului memorii fizice, n timp ce un set de
API-uri ofer accesul la toate serviciile i la ntreg hardware-ul.

2.3.1 Maina virtuala Dalvik

Un element esential n sistemul de operare Android reprezint maina virtuala


Dalvik. Sistemul de operare Android folosete propria maina virtuala creat special pentru a
asigura rularea eficient a mai multor instane pe un singur dispozitiv, n detrimentul utilizrii
masinii virtuale JavaME.

8
Kernel-ul Lnux al sistemului este folosit de ctre maina virtuala Delvik pentru a
asigura functionalitatrea la nivel sczut, precum rularea pe mai multe fire de execuie, securitatea,
mamagemetul proceselor i a memoriei.

Utiliznd maina virtuala Delvik pentru execuia aplicaiilor, dezvoltatorii au un


layer abstract astfel ncat nu mai trebuie luat n considerare o implementare hardware anume.

2.3.2. Android (SDK)

n interiorul softului pentru dezvoltarea aplicaiilor Android (SDK) vom regsii tot
ce avem nevoie pentru crearea de noi aplicaii,testarea i rularea acestora. n SDK vom regsi:

API-urile Android aici n nucleul SDK-ului exist librriile API ce asigur


dezvoltatorului stiva de aplicaii Android, care sunt folosite de cei de la Google pentru
crearea aplicaiilor native Android;

Emulatorul este managerul virtual de dispozitive Android, cu ajutorul acestuia vom


simula configuraia hardware a unor dispozitive i rularea aplicaiilor pe acele dispositive.
Folosind aceasta unealta putem observa felul n care aplicaiile vor arta i se vor
comporta pe dispozitive Android reale.

Tool-uri pentru dezvoltare pentru generarea codului sursa .java n executabil, .apk
SDK-ul Android include mai multe unelte de dezvoltare care permit compilarea i
debugging-ului pe cod.

9
Trebuie precizat faptul c SDK-ul include informaii despre referinele existente la nivel de
cod detaliind exact ceea ce se regsete n fiecare pachet i clas, dar nu n ultimul rnd ofer i
detalii despre fundamentele dezvoltrii pe un sistem Android.

Exemple de cod SDK-ul Android are ncluse o selecie de exemple de aplicaii menite
s demonstreze o parte dn poibilitile oferte pentru dezvoltare aplicaiilor dedicate
Android

2.4 Stiva software Android

n cele ce urmeaz voi prezenta i explica stiva software Android din ce este compusa:

Fig 1. Stiva Software Android

10
Colecia de librrii C/C++ mpreun cu kernel-ul Linux sunt acceibile printr-un
framework de aplicaie ce aigur servicii pentru managerierea mediului de execuie i a
aplicaiilor.

Kernel-ul Linux serviciile de baz sunt controlate de un kernal Linux 2.6, acesta include
driver hardware, servicii pentru procesele i managementului memoriei, securitatea,
reeaua i managementul reelei de curent.

Librriile ruleaz peste kernel cuprinznd mai multe librrii de baza C/C++ precum i
libc i SSL. Aici vom gi o librrie media utilizat n vederea rulrii de coninut audio
video, librrii grafice SGL i OpenGL care au n vedere gestiunea i rularea aplicaiilor
2D i 3D, se mai regasete i o librarie SQLite pentru aces native la baza de date, SSl i
WebKit acestea fiind responsabile pentru web browser i securitatea n internet.

Mediul de execuie Android include libriile de baz i maina virtual Delvik astfel
mediul de execuie Android este motorul ce ruleaz aplicaia mpreun cu librriile
formnd bazele framework-ului de aplicaii

Framework-ul aplicaiei acesta aigur abstractizarea generic pentru accesul hardware,


managerierea interfeei grafice, resurselor aplicaiei.

Layer-ul de aplicaii n toate aplicaiile, att cele native ct i cele dezvoltate ulterior,
vom regi lbrrii de API-uri. Layer-ul de aplicaii ruleaz sub acelai mediu de execuie
Android, utiliznd serviciile i clasele disponibile n framework-ul aplicaiei.

11
2.5 Alte tehnologi foloite

2.5.1 Java

Pentru dezvoltarea aplicaie am foloit platforma Eclipse Indigo foloind ca i limbaj de


programare Java. n cateva idei voi prezenta acest limbaj de programare.

A fost dezvoltat de ctre Sun Microsystems n anul 1995.n acest limbaj se regsec multe
aspect mprumutate de la C i C++ n ceea ce privete intaxa. De regul aplicaiile Java sunt
compilate n cod pe bit (fiiere clasa), care ruleaz pe orice JVM (Java Virtual Machine),
indiferent de arhitectura calculatorului.

Scopul celor de la Sun Microsystems a fost implementarea unei maini virtuale i a unui
limbaj de programare asemanator/imilar cu stilul de programare n C/C++. La nceput prea s
aib o oarecare securitate care era uor de configurat, permind setarea unor restricii pentru
accesarea fiierelor i a reelei.

La scurt timp browserele web au nceput s ruleze Applet-uri Java n interiorul paginilor
web, astfel Java a avut o cretere a popularitii. Datorita creterii cei de la firma Sun
Microsystem ies pe piaa cu Java 2 (lansat initial sub denumirea de Java 1.2, n anul 1998), noua
veriunea aducea suport pentru mai multe conficuraii, pentru mai multe tipuri de platform astfel
apar:

J2SE care reprezenta ediia standard


J2EE reprezenta ediia dedicat aplicaiilor enterprise
J2ME fiind o veriune mai restrans era adresat aplicaiilor mobile

Ulterior, din motive de marketing noile veriuni schimbandui numele n Java SE, Java
EE i Java ME. n perioada 2009-2010 compania Sun Microsystems este cumparat de catre

12
Oracle, acetia prelund toat tehnologia creat pn n acea perioad. Cei de la Oracle, i-au luat
angajamentul de a pstra licenierea Open Source oferind i actualizri periodice.

n prezenta lucrare am ales ca i limbaj de programere Java, deoarece mi ofera un mediu


robust i igur, neutru la arhitectura i portabil,este orientat obiect,oferindu-mi un mediu dinamic
de dezvoltare a aplicaiei.

2.5.2 Reeua Wireless

Aplicaia RemoteControleWinamp de faa, pentru a putea fi utilizat are nevoie de o reea


Wireless pentru a putea face comunicarea ntre aplicaia de pe terminalul mobil (client) i
calculator (server).

n continuare voi face referiri la tehnologiile reelelor wireless, de transmiii de date din
familia de protocoale radio standardizate 802.11 (201.11a, 802.11b i 802.11c) cunoscute sub
denumirea de Wi-Fi (Wirless Fidelity) i 802.16 cunoscut sub denumirea de WiMAx
(WorldWide Interoperability for Microwave Acces).

DSS = Digital Spread Spectrum

13
802.11b a fost ratificat la 16 septembrie 1999 i este, probabil cel mai popular protocol de
reea wirless utilizat n present. Ca i tip de modulaie foloit este DSSS (Direct Sequence
Spread Spectrrum). Limitrile acestui protocol ar fi puterea de ieire de pana la 1 watt iar
modulaiile numai de tipul celor cu disperia spectrctral cuprins ntre 2.412 i 2.484
GHz, cu o vitez maxim de 11Mbps
802.11g a fost radificat n iunie 2003, acest protocol este cel mai ntlnit, deoarece este
implementat parctic n toate leptopurile care au placa wireless i pe majoritatea celorlalte
dispoitive portabile. Utilizeaz aceeai band de frecventa ca i 802.11b, dar folosete n
plus tipul de modulaie OFDM (Ortogonal Frecvency Diviion Multiplexing).Viteza
maxim de transfer ajungnd la 54 Mbps.
802.11a a fost ratificat n septembrie 1999, utiliznd ca i tip de modulaie OFDM, are o
vitez maxim de 54Mbps, dar acesta opereaz n band de frecven ntre 5,745 i 5,805
GHz. Aceasta l face incompatibil cu protocoalele 802.11b i 802.11g.
802.16 a fost ratificat n anul 2004 i utilizeaz mai multe benzi de frecvee, acestea fiind
liceniate sau neliceniate, alocarea acestor benzi de frecvene sunt alocate de ctre ITU
(International Telecomunication Union) i cuprinde : dou benzi liceniate 3,3-3,8 GHz i
2,3-2,7 GHz , iar o band neliceniata 5,725-5,85 GHz.

n Figura 3 este reprezentat spectrul electromagnetic pentru o comparare aproximativ a


undelor i tipul acestora,comparaia facnduse la distan undelor radio,infraroii, ultraviolet,
razelor x.. Iar n figura 4 ne este prezentat un table cu standardizarea protocoalelor Wi-FI, banda
de frecven, tip de modulaie, raza de aciune.

Fig 3 Spectrul electromagnetic

14
Fig 4. Reprezint standardul pentru 802.11

2.5.3 Winamp Player

Am ales Winamp Playerul pentru rularea melodiilor din calculator deoarece ofer o
multitudine de poibilitai, este implu i compact, un deign minimalist dar totodat dotat cu
toate unelte necesare pentru o audiie placut.Aplicaia prezentei lucrri a fost creat pentru o mai
bun interaciune cu aplicaia Winamp la distan.

Este unul din cele mai utilizate playere de muzica la ora actual, foloit n special pentru
redarea melodiilor n diferite formate: mp3, wav, dar i melodii cu extenii mai speciale aac, stm,
wma, mp4, ptm, mpg, wmv, voc, asx i lista poate continua.

Un player complex,avnd o multitudine de caracteristici incluse, aici am putea include


egalizatorul, sistemul de vizualizare, librrii radio,Cd burn, etc. Marele ajutor vine din partea

15
dezvoltatorilor, plug-inurile, acestea fiind utilizate n decodarea anumitor formate, reglri fine
legate de partea de ieire sunet-video, dar i pentru accesul la reea.

2.5.4 NetBeans IDE


Am ales NetBeans IDE pentru crearea i compilarea serverului, care va face legtura ntre
dispozitivul mobil cu aplicaia client RecmoteControlWinamp instal, i playerul Winamp
instalat pe calculator.

NetBeans este un mediu de dezvoltare scris n Java, este disponibil pentru calculatoarele
cu sisteme de operare Windows, Linux, Mac dar i Solaris. Reprezint un proiect open-source
creat de cei de la Sun Microsystems n anul 2000.

Fiind un mediu de dezvoltare dar i un instrument al programatorilor pentru


scrierea,testarea, compilarea i proiectarea aplicailor web, pentru desktop dar i pentru aplicaiile
mobile. Interfaa grafica este impl i foarte utila n dezvoltarea aplicaiilor de orice natura.

Pe partea de resurse consumate n timpul rulrii programului/aplicaie putem spune c


este bine optimizat, consumnd resurse puine n comparative cu alte aplicaii din aceai
categorie. n imaginea de mai jos se poate vedea utilizarea CPU i a Memoriei:

16
Capitolul 3

Cerine, proiectare,

i implementare

3.1 Descrierea aplicaiei

Aplicaia vine ca i un pachet de aplicaii, un pachet fiind reprezentat de partea de client


mai exact aplicaia RempteControlWinamp care urmeaz a fi instalata pe telefonul mobil dotat cu
sistemul de operare Android, i partea de server mai exact WinampControllerServer, destinat
calculatorului personal, aceasta fcnd legtura ntre terminalul mobil cu calculatorul.

Pentru a reui conectarea dispozitivului mobil la calculator vom utiliza o conexiune Wi-Fi
cum vom vedea n imagine ce urmeaz:

17
In imaginea alaturate se spoate vedea digrama claselor,ceea in care ne sunt preztate
fiecare clasa cu atributiunile ei

18
3.2. Diagrama cazurilor de utilizare

Relaiile dintre utilizator/client intre unul sau mai multe cazuri de utilizare poart numele de
asociere. Aceast relaie evideniaz cazurile de utilizare n care este implicat actorul/clientul.
Relaia este unidirecionala dinspre actor ctre cazurile de utilizare.
Reprezentarea acestor cazuri de utilizare este data n imaginea alturata:

Diagrama cazurilor de utilizare

Client acesta reprezint utilizatorul aplicaiei


WinampControlFragment n acest caz, utilizatorul are acces la interfaa de control a
melodiilor
PlaylistFragment in acest caz de utilizare utilizatorului I se permite vizualizarea
pieselor sub forma de lista, distribuirea lor depinznd de playlistul din calculator
ShareFragment n vederea utilizrii acestui caz, utilizatorului i se va permite
distribuirea titlulii i a artistului favorit pe unul din cele doua site-uri de socializare

19
3.3 Diagrama de activitate

Pentru proiectarea aplicatiei i ntelegerea acesteai,un rol esential a constituit elaborarea


digramei de activitate. Aceast diagrama cuprinde modul prin care sunt realizate anumite
activitai n interioriul aplicaiei. Pentru a se observa particularitatile i proprietile fiecrei
activiti este necesar implementarea unei diagrame de activitate.

Digrama de activitate cuprinde urmatoarele componente:

Activitatea reprezinta nsumarea succesiva a unor aciuni. Fiecare aciune este


reprezentat ntru-un singur caz de utilizare. Activitatea este unidirecionala, de la
punctual intial spre punctual final;

Stare iniiala dup cum ii spune i numele reprezint punctual iniial al


activitii,punctual de pornire. O singura activitate poate avea o singura stare iniiala din
care pornete o singura tranziie;

Stare finala prin starea finala se nelege punctual n care activitatea se termina. Spre
deosebire de starea iniiala,n starea finala activitatea poate fi singular sau multipla,astfel
avnd unul sau mai multe puncte de terminare.

Aciunea poate fi interpretat ca i pas al activitatii. Eliminarea unei aciuni poate duce
la blocarea unei ntregi activiti sau chiar i a aplicaiei

Tranziia este considerata trecerea de la o aciune la alta. Acest eveniment se regsete


n momentul n care o aciune se ncheie. Tranziia se poate fi realiza de la o aciune la
alta, de la starea iniiala la o aciune sau de la o aciune la punctual final;

20
Decizia sau punctual de decizie are rolul de a lua decizia pe care ramura a fluxului se va
face urmtoare tranziie, punctual de decizie face parte din activitate
Condiia reprezenta un alt tip de tranziie, utilizata pentru ieirile posibile dintr-un
punct de decizie

Aplicaia RemoteControlWinamp este compusa din mai multe activiti. Fiecare activitate
fiind ilustrat foloind diagrama de activitate: diagrama de activitate pentru conectarea aplicaiei
la server, diagrama de activitate pentru control, diagrama de activitate pentru playlist ( lista de
piese), diagrama de activitate pentru distribuirea piesei pe site-urile de socializare.

3.3.1 Diagrama activitii de Conectare la server

Aceasta diagrama este compusa din urmtoarele aciuni:


Conectare la server
Tab Meniu
Afiarea i execuia meniului selectat

Avem un punct de decizie, in momentul aciunii de conectare. Daca condiia nu este


ndeplinita,activitatea se va incheia,conectarea fiind respins. Iar n cazul n care condiia de
conectare este ndeplinita, fluxul continua spre aciunea de vizualizare a Tab Meniurilor. Dup ce
utilizatorul i alege meniul, punctul final va fi reprezentat de afiarea i execuia meniului
selectat de ctre utilizator.

21
3.3.2 Diagrama activitii Opiunilor de redare

Aceasta diagrama este compusa din urmtoarele aciuni:


Tab Control
Opiuni de redare

n acest caz nu exista nici un punct de decizie,toate condiiile sunt ndeplinite,astfel


punctual final va corespunde execuiei opiunii de redare.

Diagrama activitii Opiunilor de redare

3.3.3 Diagrama activitii Accesare lista de piese

Aceasta diagrama este compusa din urmtoarele aciuni;


Playlist Tab (Lista de piese)

22
Selecie piesa
Rulare piesa selectata
Revenire meniu principal
Avem un punct de decizie, n momentul selectrii piesei. Daca piesa a fost tearsa ulterior
din calculator, aciunea se va ncheia. Iar n cazul n care nu au fost fcute modificri condiia
fiind ndeplinita,fluxul continua spre aciunea de rulare a piesei selectate. Punctul final va fi
reprezentat revenirea la meniul principal.

Diagrama activitii Accesare lista de piese

3.3.3 Diagrama activitii de distribuire a pieselor

Aceasta diagrama este compusa din urmtoarele aciuni;


ShareTab
Login
Distribuirea piesei
Revenire meniu principal

23
Aceasta diagrama este folosita i pentru observarea activitii pentru modulul Facebook
cat i pentru modulul Twitter.n acest caz avem un punct de decizie, momentul aciunii de logare.
Daca nu este ndeplinita condiia, activitatea se oprete, utilizatorul fiind respins. n cazul
ndeplinirii condiiei, fluxul continu spre aciunea de distribuire a piesei pe site-ul de socializare.
Dup distribuirea piese ajungnd la punctual final unde utilizatorul va fi readus la meniul
principal.

Diagrama activitii de distribuire a pieselor pe site-utile de socializare

3.4 RempteControlWinamp

n primul rnd,fiind o aplicaie pentru dispozitive mobile ofer o interfaa grafic


atrgtoare i uor de dedus.
Aplicaia este compus din 3 categorii:

24
WinampControlFragment in aceast seciune avem accesul la partea de control a playerului
(incepere,pauza,stop, derulare inainte, derulare napoi, urmtoarea piesa, anterioara). Pe lng
controlul pieselor avem i o bar de reglare a volumului i o bar care ne arat indexul iniial al
piesei i timpul scurs.
public class WinampControlFragment extends Fragment {
public static ScrollingTextView currentTrack;
private TextView textLength;
private Button prevButton, playButton, nextButton, stopButton, buttonBack,
buttonForward;
private Timer timer;
private int state;
private SeekBar seekBar, volumeBar;
private Handler handler = new Handler();
private int track_length = 0;
private int current_time = 0;
private Timer currentTimer;
private ToggleButton shuffle, repeat;

PlaylistFragment in aceast seciune ne sunt afiate n timp real toate piesele din librria de
redare a aplicaie Winamp instalate i pornite de pe calculatorul personal.Avand poibilitatea
cautari sau selectrii unei anumite piese din lista

public class PlaylistFragment extends ListFragment {


private List<String> playlist;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

new GetPlayList().execute();
return super.onCreateView(inflater, container, savedInstanceState);
}

ShareFragment dupa cum ii spune i numele aici vom gii seciunea de share (distribuire) a
piesei preferate pe ite-uri de socializare Facebook sau Twitter,astfel interactiunea individ-
tehnologie-social devine mult mai interactive.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.share_layout, null);

25
facebook = new FacebookHelper(getActivity());
twitter = new TwitterHelper(getActivity());

shareMessage = (EditText) view.findViewById(R.id.editText1);


if (WinampControlFragment.currentTrack != null) {
shareMessage.setText("I'm listening - "
+
WinampControlFragment.currentTrack.getText().toString());
}

Network n acest clasa se relizaeaza controlul i conexiunea la server presetata deocamdat pe


un singur Ip valid din motive de securitate

public void connect(final Context context) throws IOException {


// serverIpAddress = getIpAddr(context);
serverIpAddress = "192.168.2.104";
InetAddress serverAddr;
try {
serverAddr = InetAddress.getByName(serverIpAddress);
Log.d("ClientActivity", "C: Connecting...");

Fig!!. Diagrama claselor pentru aplicaia client

3.4.1WinampControlFragment

n acest sub-capitol voi prezenta i explica cteva lini de cod,ce face le i pentru ce sunt
utilizate,pentru nceput as putea prezenta butonul de play

Butonul play
playButton = (Button) view.findViewById(R.id.buttonPlay);
playButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
switch (state) {
case Protocol.STATE_STOPPED:
Network.getInstance().sendPlay();

26
state = Protocol.STATE_PLAYING;

playButton.setBackgroundResource(R.drawable.ic_media_pause);
break;
case Protocol.STATE_PAUSED:
Network.getInstance().sendResume();
state = Protocol.STATE_PLAYING;

playButton.setBackgroundResource(R.drawable.ic_media_pause);
break;
case Protocol.STATE_PLAYING:
Network.getInstance().sendPause();
state = Protocol.STATE_PAUSED;

playButton.setBackgroundResource(R.drawable.ic_media_play);
break;
default:
break;
}

n momentul n care apsam butonul de play,dispozitivul mobil trimite comanda server-


lui sa redea reda care este selectata.Pentru acest buton putem intampina 3 cazuri:
-daca aplicatia a fost pe stop i apasam butonul play,se va trimite comanda pe server de
play;
-daca a fost pe pauza i apasam butonul play, se va trimite comanda de play;

Butonul Stop
stopButton = (Button) view.findViewById(R.id.buttonStop);
stopButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
if (state != Protocol.STATE_STOPPED) {
Network.getInstance().sendStop();
state = Protocol.STATE_STOPPED;
current_time = 0;
stopTiming();
getCurrentInformation();
}
}

La acionarea butonului stop,se trimite serverului comanda stop,astfel aplicaia Winamp


va pune pe stop piesa, n acest caz nu exista alte notificri.

27
Butonul Next
nextButton = (Button) view.findViewById(R.id.buttonNext);
nextButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Network.getInstance().sendNext();
getCurrentInformation();
}

La apasarea butonului next,aplicatia trimite serverului o comanda de rulare a urmatoarei


piese din lista

Butonul Back
buttonBack = (Button) view.findViewById(R.id.buttonBackward);
buttonBack.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Network.getInstance().sendBack();
current_time -= 5;
}

La activarea butonului, aplicaia trimite comanda serverului,care va derula piesa napoi cu


5 secunde.

28
Capitolul 4.

Compararea aplicaiei RemoteControlWinamp cu alte

aplicaii similare

4.1 Media Player Remote iTunes +WMP

Aceasta aplicaie reprezenta o telecomanda pentru controlul i gestionarea melodiilor din


iTunes i Windows Media Player cu ajutorul unei conexiuni Wi-fi.
Aplicaia ofer:
Controlul la distanta a melodiilor i a videoclipurilor
Selectarea listei de melodi
Controlul propriu-zis play, pause, next, previous, stop
Descrcarea melodiilor preferate din calculator direct pe telefon
Aplicaia este disponibila i compatibila doar pentru sisteme de operare Windows (XP,
Vista, 7)

4.2 WMP Remote PRO

Fiind o variant pre-platibila aceasta aplicaie de control la distan a melodiilor are mai
multe faciliti:

29
Controlul propriu-zis al melodiilor play, pause, next, previous, stop
Manager de fiiere pentru tergerea sau modificri directorului unde sunt stocate
melodiile
Aplicaia se oprete la primirea unui apel teleponic
ncarc/salveaz/creaz liste noi de molodii
Recunoaterea vocal a comenzilor

4.3 Media Center Control

Aceasta aplicaie, la rndul este pre-platibil dar facilitile acestei aplicaii sunt
deosebite. Aceasta aplicaie oferind posibilitatea controlarii la distant att a calculatorului ct
i TV, radioului i pieselor stocate n Windows Media Player.

Aplicaia ofer:
Controlul propriu-zis al melodiilor din aplicaia Windows Media Center i Windows
Media Player play, pause, next, previous, stop
Programarea pentru nregistrarea emisunilor tv favorite
O conexiune rapid la reeaua WiFi

4.4 Samsung Smart View

Cei de la Samsung au lansat aplicaia pentru Android, ce permite utilizatorului s


foloseasc telefonul ca i telecomnd pentru televizor.Partea inovativ a celor de la Samsung
a fost posibilitatea accesrii n mod streaming continutul de pe televizor direct pe telefonul
mobil. Un dezavantaj al acestei aplicaii ar fi nevoia unui televizor Smart care s poate fi
conectat la reeua local de internet.

30
Capitolul 5.

Concluzii i testri

Dup cum am prezentat aplicaia, scopul acesteia este controlul la distan a


melodiilor preferate din calculatorul personal, nefiind nevoii sa fim lng
acesta.

n funcie de distana la care ne aflm faa de router-ul WiFi conectarea la


server se face ntr-un interval scurt (o medie de 2-5 secunde), iar controlul
melodiilor se face aprope instantaneu (o medie de 1 secunda).

Aplicaia ofer n plus faa de alte aplicaii din aceai categorie, o


interaciune mai dinamic cu site-urile de socializare, avnd posibilitatea
distribuirii numelui artistului i numele melodiei preferate la apasrea unui singur
buton

Pe viitor doresc sa extind aplicaia i pe platform iOS, dorind s pot


oferii precum aplicaiile concurente posibilitatea descarcri de pe calculator direct
pe telefonul melodia preferat, dar i posibilitatea rulrii fiierelor video de pe
calculator direct pe ecranul telefonului.

31
Bibliografie

[1]. http://developer.android.com ,site-ul oficial ai dezvoltatorilor Android


[2]. http://en.wikipedia.org/wiki/Android_software_development, biblioteca universala,Documentatie
privind dezvoltarea aplicaiilor android
[3]. https://en.wikipedia.org/wiki/Android_(operating_system) biblioteca universala, Documentatie
privind sisemul de operare Android
[4]. https://developers.facebook.com/android/
[5]. https://dev.twitter.com/docs/twitter-libraries
[6]. http://www.winamp.com/help/Android
[7]. https://play.google.com/store/search?q=remote+control&c=apps
[8]. http://www.newmobile.ro/comunitati/samsung-smart-view-telecomanda-i-player-pentru-televizor/

32

S-ar putea să vă placă și