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

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

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

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

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 APIuri 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.

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

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 Mapsacesta 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.

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.

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 modula ie 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 individtehnologie-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 serverlui 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