Rreth android

23
1

Transcript of Rreth android

Page 1: Rreth android

1

Page 2: Rreth android

Vecorite e Androidit Android eshte multi-user sistem i bazuar ne Linux, ku cdo

aplikacion perfaqeson nje user.

Sistemi rregullon privilegjet perkatese per cdo UserID(aplikacion).

Informacionet mbi UserID-te jane te disponueshme vetemper sistemin, ndersa per aplikacionet vetem ato te vetat.

Cdo aplikacion aktivizon nje proces te vecante.

Proceset nderpriten kur aplikacionet nuk perdoren ose kursistemi ka nevoje per memorje shtese.

Cdo aplikacion ka qasje vetem ne komponentet e nevojshme per tu ekzekutuar dhe jo me teper.

2

Page 3: Rreth android

Vecorite e Androidit Nje aplikacion mund te kerkoje qasje ne te dhenat si:

listen e kontakteve, SMS mesazhet, SD Card, kamere, bluetooth,etj.

Keto qasje i jepen aplikacionit gjate kohes se instalimit.

I tere kodi distribuohet ne nje pako (fajll) te vetme qeka ekstenzionin .apk

3

Page 4: Rreth android

Siguria ne Android Cdo aplikacion ndodhet ne “sandbox”-in e tij

Asnje aplikacion nuk mund:

- Te afektoje aplikacionet tjera

- Te lexoje te dhenat e aplikacioneve tjera

- Te kete qasje ne rrjet

- Te mbaje pajisjen ndezur

Aplikacionet mund te shkembejne te dhena vetem pas dhenies se te drejtave perkatese

4

Page 5: Rreth android

Disa privilegje sistemore

5

Page 6: Rreth android

4 komponentet kryesore ne Android1. Activities

2. Services

3. Content Providers

4. Broadcast Receivers

6

Page 7: Rreth android

1. Activities Nje Activity perfaqeson nje dritare (screen) te vetme

te shfaqur ne nje kohe te vetme.

Shembuj te nje Activity: Thirrja e nje numri(dialpad), dergimi i nje emaili, google map, etj.

Cdo aplikacion ka nje Main Activity, qe shfaqet kuraplikacioni hapet per here te pare.

Activities qe jane te mbyllura ruhen ne Back Stack dhe paraqiten sipas metodes Last in, First Out

7

Page 8: Rreth android

Gjendjet e nje Activity Sa here qe shtypni butonin Back ose Home, Android

ruan gjendjen e Activity-s prezent.

Ne rast te mbylljes se nje Activity, inicializohet onSaveInstanceState() dhe ruhetgjendja ne Bundle (mapping per relacionet midis Activities).

Nese prape thirret nje Activity e shkaterruar, sistemie rikrijon ate duke thirruronCreate() dhe onRestoreInstanceState().

Kjo ndodhe vetem ne rastet kur Bundle kthen vlere tendryshme prej NULL.

8

Page 9: Rreth android

Activity Lifecycle9

Page 10: Rreth android

10

Page 11: Rreth android

2. Services Services jane komponente aplikacionesh qe kryejne

operacione te caktuara ne background, pa ofruarndonje user interface.

Ne kohe reale mund te jene aktive me teper servise. Psh. te surfojme ne internet, te degjojme muzike, apo te kopjojme ndonje fajll. Kjo behet permes IPC (InterProcess Communication).

Services ne Android dallojne nga Services ne Linux

11

Page 12: Rreth android

Gjendjet e nje Service Services kane lifecycle me te thjeshte se Activities

Nje Service ka dy forma: (1) STARTED ose (2) BOUND

Nje STARTED service mund te kryeje nje operacionte caktuar, por duke mos i kthyer ndonje result thirresit (Caller). – startService()

Nje BOUND service lejon komponentet tekomunikojne me servisin, te dergojne requests apo temarrin results. – bindService()

12

Page 13: Rreth android

13

Page 14: Rreth android

3. Content Providers Content Providers jane komponente qe u

ofrojne te dhena ne formate te caktuaraaktiviteteve tjera.

Menyra e funksionimit te nje provideri eshte siajo e dy tabelave relacionale ne DB.

Psh. CalendarProvider ruan ngjarjet e perdoruesit ne nje vend (repository), oseContactProvider qe menaxhon te dhenat mbikontaktet e personave te regjistruar.

14

Page 15: Rreth android

3. Content Providers Content Providers operojne sipas CRUD ne DB.

Operojne permes metodave:

insert(), update(), delete(), dhe query()

Cdo ContentProvider posedon nje URI qe perdoret siidentifikues.

Psh. URI i User Dictionary: content://user_dictionary/words

Queryt per perdorim te dhenash jane identike me ato te SQL.

Psh. SELECT _ID, word, frequency, locale FROM words WHERE word = <userinput> ORDER BY word ASC;

15

Page 16: Rreth android

Intents Intents jane mesazhe qe perdoren per te

aktivizuar nje Activity, Service apo Broadcast Receiver.

Nje Intent eshte thjeshte nje objekt qe permbanpershkrimin mbi operacionin qe duhet realizuar.

Android perkrahe dy lloje te intents: Explicit dheImplicit Intents.

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));

16

Page 17: Rreth android

17

Intents dhe Intent Filters

Page 18: Rreth android

Intent Filters Intent Filters vlejne vetem per Intentet implicit.

Intentet eskplicit nuk mund te filtrohen.

Filteret vendosen ne Android Manifest fajllin.

Psh. <intent-filter . . . >

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

18

Page 19: Rreth android

4. Broadcast Receivers Broadcast Receivers jane built-in komponente te

Androidit qe punojne ne prapavije.

Broadcast Receivers na njoftojne per ngjarjet (events) e ndryshme, si psh. kur pranojme nje SMS apo njethirrje, kur bateria eshte e zbrazur, kur pajisjaristartohet, etj.

Poashtu, mund te krijojme Broadcast Receivers per aplikacione, qe mund te njoftojne sistemin apoaplikacionet tjera per ngjarje te caktuara.

Nje Broadcast Receiver mund te shkrepe (trigger) ekzekutimin e nje kodi te caktuar, ose mund te inicojenje activity apo nje service.

19

Page 20: Rreth android

Dy metodologjite e UI PROCEDURAL dhe DECLARATIVE

Metoda Deklarative perdore XML elementet per tedizajnuar UI, ngjajshem me HTML.

Perparesi e metodes deklarative eshte perdorimi I WYSIWIG editorit, poashtu leximi i XML eshte me i lehte.

Disavantazh i metodes deklarative eshtemanipulimi me user input.

20

Page 21: Rreth android

Dy metodologjite e UI Metoda procedurale apo programative perdore

Java per te dizajnuar. Elementet e UI mund tekrijohen ne runtime.

Perparesi e kesaj metode eshte mundesia e menaxhimit te eventeve te ndryshme.

Strategjia me e mire eshte qe te perdoren te dymetodat se bashku.

21

Page 22: Rreth android

Literatura dhe Referencat Mobile Computing, Raj Kamal

Learning Android (Building Applications for the Android Market), Marko Gargenta

Mobile Computing Principles: Designing and Developing Mobile Applications with UML and XML, Roy T. Fielding

22

Page 23: Rreth android

Resurse online http://developer.android.com/guide/components/ind

ex.html

http://www.vogella.com/android.html

http://www.androidhive.info

http://thenewboston.org/list.php?cat=6

23