Rreth android

301 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
301
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rreth android

  1. 1. 1
  2. 2. 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 vetem per sistemin, ndersa per aplikacionet vetem ato te vetat. Cdo aplikacion aktivizon nje proces te vecante. Proceset nderpriten kur aplikacionet nuk perdoren ose kur sistemi ka nevoje per memorje shtese. Cdo aplikacion ka qasje vetem ne komponentet e nevojshme per tu ekzekutuar dhe jo me teper. 2
  3. 3. 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 qe ka ekstenzionin .apk 3
  4. 4. 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
  5. 5. Disa privilegje sistemore 5
  6. 6. 4 komponentet kryesore ne Android1. Activities2. Services3. Content Providers4. Broadcast Receivers 6
  7. 7. 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 kur aplikacioni hapet per here te pare. Activities qe jane te mbyllura ruhen ne Back Stack dhe paraqiten sipas metodes Last in, First Out 7
  8. 8. 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 ruhet gjendja ne Bundle (mapping per relacionet midis Activities). Nese prape thirret nje Activity e shkaterruar, sistemi e rikrijon ate duke thirrur onCreate() dhe onRestoreInstanceState(). Kjo ndodhe vetem ne rastet kur Bundle kthen vlere te ndryshme prej NULL. 8
  9. 9. Activity Lifecycle 9
  10. 10. 10
  11. 11. 2. Services Services jane komponente aplikacionesh qe kryejne operacione te caktuara ne background, pa ofruar ndonje 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
  12. 12. 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 operacion te caktuar, por duke mos i kthyer ndonje result thirresit (Caller). – startService() Nje BOUND service lejon komponentet te komunikojne me servisin, te dergojne requests apo te marrin results. – bindService() 12
  13. 13. 13
  14. 14. 3. Content Providers Content Providers jane komponente qe u ofrojne te dhena ne formate te caktuara aktiviteteve tjera. Menyra e funksionimit te nje provideri eshte si ajo e dy tabelave relacionale ne DB. Psh. CalendarProvider ruan ngjarjet e perdoruesit ne nje vend (repository), ose ContactProvider qe menaxhon te dhenat mbi kontaktet e personave te regjistruar. 14
  15. 15. 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 si identifikues.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
  16. 16. Intents Intents jane mesazhe qe perdoren per te aktivizuar nje Activity, Service apo Broadcast Receiver. Nje Intent eshte thjeshte nje objekt qe permban pershkrimin mbi operacionin qe duhet realizuar. Android perkrahe dy lloje te intents: Explicit dhe Implicit Intents.Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); 16
  17. 17. Intents dhe Intent Filters 17
  18. 18. 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
  19. 19. 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 nje thirrje, kur bateria eshte e zbrazur, kur pajisja ristartohet, etj. Poashtu, mund te krijojme Broadcast Receivers per aplikacione, qe mund te njoftojne sistemin apo aplikacionet tjera per ngjarje te caktuara. Nje Broadcast Receiver mund te shkrepe (trigger) ekzekutimin e nje kodi te caktuar, ose mund te inicoje nje activity apo nje service. 19
  20. 20. Dy metodologjite e UI PROCEDURAL dhe DECLARATIVE Metoda Deklarative perdore XML elementet per te dizajnuar 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 eshte manipulimi me user input. 20
  21. 21. Dy metodologjite e UI Metoda procedurale apo programative perdore Java per te dizajnuar. Elementet e UI mund te krijohen ne runtime. Perparesi e kesaj metode eshte mundesia e menaxhimit te eventeve te ndryshme. Strategjia me e mire eshte qe te perdoren te dy metodat se bashku. 21
  22. 22. 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
  23. 23. 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

×