Documente Academic
Documente Profesional
Documente Cultură
Licenta PDF
Licenta PDF
Facultatea de Inginerie
Specializarea: Calculatoare
LUCRARE DE DIPLOMA
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.2Structurarea pe capitole
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 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.
5
Capitolul 2.
Aspecte tehnologice
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 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 .
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
Toate aplicaiile Android sunt scrise folosind ca i limbaj de programare Java, dar
acestea sunt executate cu ajutorul mainii virtuale denumite Dalvik.
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.
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:
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
n cele ce urmeaz voi prezenta i explica stiva software Android din ce este compusa:
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
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
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:
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 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).
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.
14
Fig 4. Reprezint standardul pentru 802.11
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.
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.
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.
16
Capitolul 3
Cerine, proiectare,
i implementare
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:
19
3.3 Diagrama de activitate
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
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.
21
3.3.2 Diagrama activitii Opiunilor de redare
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.
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.
3.4 RempteControlWinamp
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
@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());
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;
}
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();
}
}
27
Butonul Next
nextButton = (Button) view.findViewById(R.id.buttonNext);
nextButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Network.getInstance().sendNext();
getCurrentInformation();
}
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;
}
28
Capitolul 4.
aplicaii similare
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
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
30
Capitolul 5.
Concluzii i testri
31
Bibliografie
32