Sunteți pe pagina 1din 20

Universitatea Tehnică "Gheorghe Asachi" din Iași

Facultatea de Automatică și Calculatoare

SECURITATEA REȚELELOR WIRELESS ȘI A


DISPOZITIVELOR MOBILE

Curs nr. 2

q Sisteme de operare
q sisteme de operare de uz general
q linux, windows, macOS

q sisteme de operare de timp real


q FreeRTOS, QNX

SRWDM Curs nr. 2 – 2022 – 2023 2

q Sisteme de operare pentru dispozitive mobile

SRWDM Curs nr. 2 – 2022 – 2023 3

1
Arhitectura Android

SRWDM Curs nr. 2 – 2022 – 2023 4

Linux Kernel

q Moștenește funcționalitățile Linux (managementul


memoriei, fire de execuție, caracteristici de securitate,
drivere hardware)

SRWDM Curs nr. 2 – 2022 – 2023 5

Hardware Abstraction Layer

q Furnizează interfețe standard care expun capacitățile


hardware ale dispozitivului către un framework de nivel
înalt (Java API).
q Constădin multiple module de bibliotecă, fiecare dintre ele
implementând o interfață către o anumită componentă
hardware (de exemplu camera sau bluetooth).
q Când se face un apel API pentru a accesa hardware-ul
dispozitivului, sistemul Android încarcă modulul de
bibliotecă pentru acel modul.
SRWDM Curs nr. 2 – 2022 – 2023 6

2
Biblioteci

q Biblioteci
native C/C++
q Multe dintre componentele de bază și serviciile Android
(ART sau HAL) se bazează pe cod nativ scris în C sau C++.
q Platforma Android furnizează Java API pentru a expune
funcționalitățile unora dintre aceste biblioteci către
aplicații.
SRWDM Curs nr. 2 – 2022 – 2023 7

Biblioteci

q De exemplu se poate accesa OpenGL ES prin intermediul


Java OpenGL API pentru a putea desena și folosi grafice 2D
și 3D în aplicații.
q Dacă o aplicație folosește cod C sau C++ se poate folosi
Android NDK pentru a accesa câteva dintre bibliotecile cu
cod nativ direct din codul aplicației.
SRWDM Curs nr. 2 – 2022 – 2023 8

Biblioteci

q Android Runtime
q >API Level 21 – fiecare aplicație rulează propriul său proces
cu propria sa instanță în Android RunTime (ART)

SRWDM Curs nr. 2 – 2022 – 2023 9

3
Java Framework

q Întregul set de caracteristici ale SO Android este disponibil


print intermediul API scrise în Java.

SRWDM Curs nr. 2 – 2022 – 2023 10

10

Systems Apps

q Un set de aplicații preexistente (email, telefon, sms,


calendar, navigare internet, contacte, …)
q Nu au statut special

q Pot fi instalate și alte aplicații


q Aplicațiile existente pot furniza caracteristici care pot fi
folosite de alte aplicații dezvoltate de terți (de exemplu
aplicația SMS sau camera care poate fi folosită în alte
aplicații).
SRWDM Curs nr. 2 – 2022 – 2023 11

11

Aplicații Android
q Dezvoltarea de aplicații: Android Studio, Android SDK
q Pot fi scrise folosind:
q Java
q Kotlin
q C/C++
q Android SDK: cod + date + resurse -> fișier arhivă (___.apk)
q Android package – conține toate resursele necesare pentru
instalarea aplicației

SRWDM Curs nr. 2 – 2022 – 2023 12

12

4
q AndroidManifest.xml:
q Numele pachetului aplicației (code namespace)
q Componentele aplicației
q Permisiunile
q Cerințele hardware și software pentru aplicație

q Filtrele pentru intenții (intent – filter)


q Etichete (label) pentru anumite elemente
q Folderul res
q fișiere layout xml (câte unul pentru fiecare activitate)

SRWDM Curs nr. 2 – 2022 – 2023 13

13

Componentele unei aplicații Android


q Fiecarecomponentă este un punct de intrare în aplicație
(pentru sistem sau pentru un utilizator)
q Unele componente depind de altele
q Sunt patru tipuri de componente ale unei aplicații:
q Activități
q Servicii
q Furnizori de conținut (content providers)
q Receptori (broadcast receivers)

q Fiecare tip are propriul rol și are un ciclu de viață distinct


care definește modul în care componenta respectivă este
creată și apoi distrusă.

SRWDM Curs nr. 2 – 2022 – 2023 14

14

Componentele unei aplicații Android: Activități


q Reprezintă un singur ecran cu o interfață utilizator
q Punctul de intrare pentru interacțiunea cu utilizatorul a
aplicației
q Sunt importante pentru modul în care utilizatorul
navighează într-o aplicație sau între aplicații

SRWDM Curs nr. 2 – 2022 – 2023 15

15

5
Componentele unei aplicații Android: Activități
qO aplicație poate să aibă o activitate care arată o anumită
interfață și o altă activitate cu o interfață complet diferită.
q Dacă o aplicație are mai mult de o activitate, atunci una din ele
trebuie să fie marcată ca activitate implicită și să fie activată
atunci când este lansată în execuție aplicația respectivă.
q Exemplu: o aplicație pentru email poate avea
q o activitate care arată lista de email-uri
q o activitate pentru compunerea de e-mail-uri
q o activitate pentru citirea email-urilor

q Deși activitățile lucrează împreună pentru a forma o experiență


coerentă în aplicație, fiecare este independentă de celelalte

SRWDM Curs nr. 2 – 2022 – 2023 16

16

Componentele unei aplicații Android: Activități


qO altă aplicație poate să pornească oricare din aceste
activități, dacă aplicația de email permite acest lucru.
q Exemplu: o aplicație pentru cameră poate porni, în aplicația de
email, activitatea care compune noi mesaje permițând
utilizatorului să trimită o fotografie

SRWDM Curs nr. 2 – 2022 – 2023 17

17

Componentele unei aplicații Android: Activități


qO activitate permite următoarele interacțiuni între sistem
și aplicație:
q Urmărirea a ceea ce este pe ecran pentru a asigura faptul că
sistemul asigură continuarea procesului care conține activitatea
respectivă
q Cunoașterea faptului că procesele folosite anterior conțin
informații pe care utilizatorul le-ar putea folosi din nou (activități
oprite) și astfel să le prioritizeze păstrând o evidență a proceselor
corespunzătoare

SRWDM Curs nr. 2 – 2022 – 2023 18

18

6
Componentele unei aplicații Android: Activități

q Gestionarea proceselor terminate ale aplicației astfel încât


utilizatorul să se întoarcă la activități în starea lor anterioară
q Furnizarea unei modalități pentru ca aplicațiile să implementeze
un flux de utilizatori între ele și sistemul să coordoneze aceste
fluxuri.

q Implementarea unei activități se face ca o subclasă a clasei


Activity.

SRWDM Curs nr. 2 – 2022 – 2023 19

19

Componentele unei aplicații Android: Fragmente


q Activitățile pot fi descompuse în fragmente.
q Un fragment reprezintă comportarea unei porțiuni a
interfeței utilizator
q Se pot combina mai multe fragmente într-o singură
activitate pentru a construi o interfață utilizator cu mai
multe panouri sau se poate utiliza un fragment în multiple
activități.
q Fragment = o secțiune a unei activități care are propriul
ciclu de viață, primește la intrare propriile evenimente și
care poate fi adăugat sau eliminat în timp ce rulează o
activitate (un soi de „subactivitate” care poate fi folosită în
mai multe activități)
SRWDM Curs nr. 2 – 2022 – 2023 20

20

Componentele unei aplicații Android: Fragmente


q Un fragment trebuie întotdeauna să fie legat (găzduit) de o
activitate și ciclul de viață al fragmentului este afectat de
ciclul de viață al activității gazdă.
q Exemplu: când o activitate este în pauză, la fel sunt și toate
fragmentele din ea și când activitatea este distrusă, sunt
distruse și toate fragmentele.

SRWDM Curs nr. 2 – 2022 – 2023 21

21

7
Componentele unei aplicații Android: Fragmente
q Totuși, în timp ce o activitate rulează (ea este în starea
reluat) fiecare fragment poate fi manevrat independent
astfel încât poate fi adăugat sau șters.
q Când se realizează o astfel de tranzacție cu fragmente, un
fragment poate fi adăugat unei stive din fundal, stivă care
este gestionată de activitate – fiecare intrare este o
înregistrare a tranzacției care a fost făcută.
q Această stivă permite utilizatorului să execute în sens
invers tranzacțiile unui fragment (navigare în sens invers)
prin apăsarea butonului Back.

SRWDM Curs nr. 2 – 2022 – 2023 22

22

Componentele unei aplicații Android: Fragmente


q Când se adaugă un fragment ca o parte a structurii
(componenței) unei activități, el este plasat într-un
ViewGroup în interiorul ierarhiei de „vederi” - view a
activității și fragmentul își definește propria sa schemă de
vedere..
q Se poate insera un fragment prin declararea fragmentului
în fișierul asociat schemei activității (ca un element de tip
<fragment>) sau din codul aplicației prin adăugarea lui la
un ViewGroup existent.

SRWDM Curs nr. 2 – 2022 – 2023 23

23

Componentele unei aplicații Android: Servicii


q Esteo componentă care permite rularea unei aplicații în
fundal pentru o serie întreagă de motive
q Este o componentă care se execută în fundal pentru
realizarea unor operații de lungă durată sau pentru a
realiza anumite operații pentru procese ce rulează la
distanță.
q Un serviciu nu furnizează o interfață utilizator

SRWDM Curs nr. 2 – 2022 – 2023 24

24

8
Componentele unei aplicații Android: Servicii
q De exemplu:
q un serviciu poate reda piese muzicale în timp ce utilizatorul
folosește o altă aplicație
q Un serviciu poate extrage date dintr-o rețea fără a bloca
interacțiunea utilizatorului cu o activitate
qO altă componentă, de exemplu o activitate, poate porni
serviciul și îl poate lăsa să ruleze sau poate să se lege la el
pentru a interacționa.

SRWDM Curs nr. 2 – 2022 – 2023 25

25

Componentele unei aplicații Android: Servicii


q Suntdouă tipuri distincte de servicii care spun sistemului
cum să gestioneze o aplicație:
q Serviciile pornite (active) spun sistemului să le execute până când
ceea ce au de făcut este finalizat. De exemplu: serviciile care
trebuie să sincronizeze date în fundal sau să redea muzică, chiar
dacă utilizatorul a ieșit din aplicație.
q Redarea muzicii este ceva de care utilizatorul este conștient. Aplicația
trebuie să spună acest lucru sistemului și face acest lucru spunând că
trebuie să revină în prim plan cu o notificare pentru utilizator; în acest caz
sistemul știe că trebuie să păstreze acest proces în execuție.
q Un serviciu obișnuit de fundal nu este un serviciu de care utilizatorul este
direct conștient că rulează; astfel sistemul are mai multă libertate în ceea
ce privește gestionarea proceselor lor. Sistemul poate să permită oprirea
lor (și apoi repornirea lor cândva mai târziu) dacă sistemul are nevoie de
memorie pentru anumite lucruri care sunt mai importante pentru utilizator.
SRWDM Curs nr. 2 – 2022 – 2023 26

26

Componentele unei aplicații Android: Servicii


q Serviciile legate se execută pentru că o altă aplicație (sau
sistemul) cere folosirea acelui serviciu. Este de fapt un serviciu
care furnizează un API unui alt proces. Sistemul știe că există o
interdependență între aceste procese, astfel încât dacă procesul A
este legat de un serviciu în procesul B, sistemul știe că trebuie să
păstreze procesul B (și serviciul lui) în lucru pentru A.
Mai mult dacă procesul A este un proces de care este direct
interesat utilizatorul, atunci sistemul știe să trateze procesul B ca un
proces de care utilizatorul este interesat.

SRWDM Curs nr. 2 – 2022 – 2023 27

27

9
Componentele unei aplicații Android: Servicii
q Serviciile
sunt foarte flexibile și din acest motiv au devenit
elemente de bază diferite concepte ale sistemelor
q Exemplu:
q Live wallpaper
q Screen saver
q metode de introducere a datelor
q Servicii de accesibilitate

q Un serviciu este implementat ca o subclasă a clasei Service

SRWDM Curs nr. 2 – 2022 – 2023 28

28

Componentele unei aplicații Android: Receptori


q Un receptor (broadcast receiver) este o componentă care
permite sistemului să furnizeze evenimente în afara
fluxului obișnuit al unui utilizator, permițând aplicației să
răspundă la anunțurile (atenționările) trimise de sistem.

q Pentru că receptorii reprezintă un alt punct bine definit de


intrare în aplicație, sistemul poate să furnizeze o
atenționare chiar și unei aplicații care nu rulează în acel
moment.

SRWDM Curs nr. 2 – 2022 – 2023 29

29

Componentele unei aplicații Android: Receptori


q De exemplu, o aplicație poate programa o alarmă pentru a
trimite o notificare pentru a-i spune utilizatorului despre
un eveniment care urmează
q Livrarea acelei alarme unui receptor al aplicației nu
înseamnă că aplicația trebuie să rămână activă până când
alarma încetează.
q Multe notificări sunt generate de sistem, de exemplu o
notificare care anunță că ecranul s-a închis, nivelul bateriei
este scăzut sau că a fost făcută o fotografie.

SRWDM Curs nr. 2 – 2022 – 2023 30

30

10
Componentele unei aplicații Android: Receptori
q Aplicațiile pot genera notificări
q De exemplu: informarea că anumite date au fost puse pe
dispozitiv și că sunt disponibile pentru pentru utilizare.
q Deși, receptori de notificări nu afișează o interfață
utilizator, ei pot crea o bară de stare (status bar) pentru
notificare pentru a anunța utilizatorul când are loc un
eveniment de notificare.
q Obișnuit, un receptor de notificări este doar o trecere spre
alte componente și se presupune că această componentă
realizează o cantitate minimală de operații.

SRWDM Curs nr. 2 – 2022 – 2023 31

31

Componentele unei aplicații Android: Receptori


q De exemplu: putem programa un JobService pentru a
realiza anumite operații bazate pe un eveniment cu
JobScheduler.
q Un receptor este implementat ca o subclasă a clasei
BroadcastReceiver și fiecare notificare este furnizată ca un
obiect Intent.

SRWDM Curs nr. 2 – 2022 – 2023 32

32

Componentele unei aplicații Android: Furnizori


q Un furnizor de conținut gestionează un set partajat de date
ale unei aplicații, set care poate fi stocat într-un fișier
sistem, într-o bază de date SQLite, pe web sau în oricare
loc de stocare persistentă a datelor pe care aplicația poate
să-l acceseze.
q Prin furnizorul de conținut, alte aplicații pot face interogări
sau modificări ale datelor dacă furnizorul de conținut
permite acest lucru.
q De exemplu, sistemul Android are un furnizor de conținut
care gestionează informațiile persoanelor de contact ale
utilizatorului.

SRWDM Curs nr. 2 – 2022 – 2023 33

33

11
Componentele unei aplicații Android: Furnizori
q Orice aplicație cu permisiunile necesare poate interoga
furnizorul de conținut, de exemplu: ContactContract.Data,
pentru a citi și scrie informații despre o anumită persoană.
q Este tentant de a ne gândi la un furnizor de conținut ca o
abstracție a unei baze de date, pentru că există o mulțime
de API-uri și suport inclus pentru baze de date pentru acest
caz comun.

SRWDM Curs nr. 2 – 2022 – 2023 34

34

Componentele unei aplicații Android: Furnizori


q Totuși, ei au un alt scop principal din perspectiva proiectării
sistemului.
q Pentru sistem, un furnizor de conținut (informații) este un
punct de intrare în aplicație pentru a face cunoscute
anumite date (obiecte) identificate printr-o schemă URI
(Uniform Resource Identifier (URI) - șir de caractere care
identifică neambiguu o resursă particulară). Astfel o
aplicație poate decide cum dorește să mapeze datele pe
care le conține la un spațiu de nume URI, distribuind acele
URI altor entități care le pot folosi, la rândul lor, pentru a
accesa datele.

SRWDM Curs nr. 2 – 2022 – 2023 35

35

Componentele unei aplicații Android: Furnizori


q Astfel:
q Asignarea unui URI nu cere ca aplicația să continue să ruleze,
astfel încât URI poate să persiste după ce aplicația care le deține
s-a încheiat. Sistemul trebuie să asigure că aplicația proprietară
rulează încă atunci când trebuie să extragă datele aplicației din
URI corespunzător.

SRWDM Curs nr. 2 – 2022 – 2023 36

36

12
Componentele unei aplicații Android: Furnizori
q Aceste URI furnizează un model de securitate foarte fin. De
exemplu, o aplicație poate pune URI pentru o imagine pe care o
are în clipboard, dar îl lasă pe furnizorul de conținut asociat
blocat, astfel încât alte aplicații să nu-l poată accesa. Când o a
doua aplicație încearcă să acceseze acel URI în clipboard, sistemul
poate permite ca acea aplicație să acceseze datele prin
intermediul unui grant temporar de permisiune URI astfel încât se
poate accesa acea dată numai în spatele acelui URI, dar nimic
altceva în cea de a doua aplicație.

SRWDM Curs nr. 2 – 2022 – 2023 37

37

Componentele unei aplicații Android: Furnizori


q Furnizorii de conținut sunt utili pentru citirea și scrierea
datelor care sunt private aplicației noastre și nu sunt
distribuite.
q Un furnizor de conținut este implementat ca o subclasă a
clasei ContentProvider și trebuie să implementeze un set
standard de API care permite altor aplicații să realizeze
tranzacții.

SRWDM Curs nr. 2 – 2022 – 2023 38

38

Componentele unei aplicații Android: Furnizori


q Furnizoriide conținut ajută o aplicație să gestioneze datele
stocate de ea însăși, stocate de alte aplicații și de furniza o
cale de a partaja datele cu alte aplicații.
q Încapsulează datele și furnizează mecanisme pentru a
defini securitatea datelor
q Sunt interfețe standard care conectează datele dintr-un
proces cu codul care rulează în alte procese.
q Implementarea unui furnizor de conținut care avantaje:
q Se poate configura un furnizor de conținut pentru a permite altor
aplicații să acceseze securizat și să modifice datele din aplicație.

SRWDM Curs nr. 2 – 2022 – 2023 39

39

13
Componentele unei aplicații Android: Furnizori

SRWDM Curs nr. 2 – 2022 – 2023 40

40

Componentele unei aplicații Android: Furnizori


q Furnizorii de conținut se folosesc când se dorește partajarea
datelor. Chiar dacă nu de dorește partajarea datelor, se pot folosi
pentru că furnizează o abstractizare a datelor, dar nu este
obligatorie folosirea lor.
q Această abstractizare permite modificarea implementării stocării
datelor în aplicație fără a afecta alte aplicații existente care se
bazează pe accesarea datelor din aplicația noastră.
q În acest scenariu numai furnizorul de informații este afectat, nu și
aplicația care îl accesează.
q Exemplu: se poate înlocui o bază de date SQLite pentru o stocare
alternativă a datelor

SRWDM Curs nr. 2 – 2022 – 2023 41

41

Componentele unei aplicații Android: Furnizori

SRWDM Curs nr. 2 – 2022 – 2023 42

42

14
Componentele unei aplicații Android: Furnizori
q Estenevoie de propriul furnizor de conținut în următoarele
cazuri:
q Se dorește implementarea unor sugestii de căutare personalizată
în aplicație
q Când se dorește expunerea datelor aplicației pentru widgets

q Se dorește copierea unor date complexe sau a unor fișiere din


aplicația proprie în alte aplicații.
q Existăfurnizori de conținut care pot gestiona date audio,
video, imagini și informații de contact personale.
q Se găsesc în android.provider; cu anumite restricții, acești
furnizori de conținut sunt accesibili oricărei aplicații Android.

SRWDM Curs nr. 2 – 2022 – 2023 43

43

Componentele unei aplicații Android: Furnizori


q Un furnizor de conținut poate fi utilizat pentru a gestiona
accesul la o diversitate de surse de stocare a datelor,
incluzând date structurate (de exemplu: baze de date
relaționale - SQLite – sau date nestructurate ca fișiere cu
imagini).

SRWDM Curs nr. 2 – 2022 – 2023 44

44

Componentele unei aplicații Android: Furnizori


q Avantajele folosirii furnizorilor de conținut
q Oferă control „granular” pentru accesarea datelor
q Se poate restricționa accesul la un furnizor de servicii numai din
interiorul aplicației, permite acoperirea pentru accesarea datelor
din alte aplicații sau se pot configura diferite permisiuni pentru
citirea și scrierea datelor.
q Se poate folosi un furnizor de conținut pentru a abstractiza
detaliile accesării diverselor surse în aplicație. De exemplu,
aplicația poate stoca date structurate într-o bază de date SQLite
și, la fel de bine, poate accesa fișiere video și audio. Se poate
folosi un furnizor de conținut pentru a accesa toate aceste date,
dacă se implementează acest model de dezvoltare în aplicație.

SRWDM Curs nr. 2 – 2022 – 2023 45

45

15
Componentele unei aplicații Android: Furnizori
q De notat că obiectele de tip CursorLoader se bazează pe
furnizorii de conținut pentru a rula interogări asincrone și
care apoi returnează rezultatele la stratul UI în aplicație.

SRWDM Curs nr. 2 – 2022 – 2023 46

46

Principalele componente ale unei aplicații Android


q Activități – un ecran cu IU
q Servicii – procese care rulează în fundal
q Furnizoride conținut (content provider) – legătura cu
datele
q Receptorii de mesaje (broadcast receiver) – primesc
mesajele din sistem, la care trebuie să se răspundă

q Aplicație – o mulțime de activități


q Intenții – un mesaj care trebuie transmis

SRWDM Curs nr. 2 – 2022 – 2023 47

47

1
APP1

3 Android System

Photo App
2
Take photo comp

SRWDM Curs nr. 2 – 2022 – 2023 48

48

16
Aplicații Android
q Fiecare aplicație Android – container (sandbox) protejat
de:
q SO android este un sistem Linux multi-user în care fiecare
aplicație este un user;
q Implicit, sistemul asignează fiecărei aplicații un user ID Linux unic
(ID este folosit numai de sistem și nu este știut de aplicație).
Sistemul setează permisiunile pentru toate fișierele din aplicație
astfel încât numai ID utilizatorului asignat acelei aplicații poate să
le acceseze
q Fiecare proces are propria mașină virtuală (VM) astfel încât o
aplicație se execută izolată de alte aplicații

SRWDM Curs nr. 2 – 2022 – 2023 49

49

Aplicații Android
q Implicit, fiecare aplicație rulează propriul său proces Linux.
Sistemul Android pornește procesul atunci când oricare din
componentele aplicației trebuie să fie executată și oprește
procesul atunci când acesta nu mai este necesar sau când
sistemul are nevoie de memorie pentru alte aplicații.

SRWDM Curs nr. 2 – 2022 – 2023 50

50

Aplicații Android
q Principiul privilegiului minim:
q Fiecare aplicație are acces numai la componentele cu care trebuie
să lucreze
q Se creează un mediu securizat în care o aplicație nu poate să
acceseze părți din sistem pentru care nu are permisiune de acces

SRWDM Curs nr. 2 – 2022 – 2023 51

51

17
Aplicații Android
q Dezvoltarea de aplicații cross-platform:
q Xamarin – folosește C# -> trebuie cumpărată licență de la
Microsoft pentru Visual Studio
q PhoneGap – dezvoltat de Adobe; folosește HTML5, CSS, Javascript
pentru dezvoltare de aplicații
q ReactNative – folosește puțină memorie, promovată de
Facebook; folosită de Walmart, Uber Eats, startup-uri și companii
mici.
q Flutter – dezvoltată de Google

q Ionic – open source; necesită cunoștințe de Angular JS (folosită de


IBM, SAP, NASA).

SRWDM Curs nr. 2 – 2022 – 2023 52

52

Arhitectura iOS

SRWDM Curs nr. 2 – 2022 – 2023 53

53

Arhitectura iOS
q Este un sistem de operare *nix
q Este derivat din OS X
q Cocoa -> Cocoa touch: principala cale de a interfața o
aplicație cu iOS
q Are straturi similare cu platforma Android

SRWDM Curs nr. 2 – 2022 – 2023 54

54

18
Cocoa Touch
q Gestionează interfața utilizator
q Furnizează elementele de interfață (controale, widget)
q Furnizează acces la principalele funcții de sistem:
q Contacte, camera
q Primul loc de explorat pentru orice caracteristică a
aplicației

SRWDM Curs nr. 2 – 2022 – 2023 55

55

Media
q Bibliotecile grafice:
q Grafica de bază (Quartz), OpenGL, Metal, biblioteca de fotografii,
animații
q Audio
q Media player, OpenAL, elemente de bază audio
q AirPlay

SRWDM Curs nr. 2 – 2022 – 2023 56

56

Core Services
q Dă acces la resursele fundamentale cerute de o aplicație
q Construite pe Core Foundation și Foundation framework
q Bazele pentru NeXSTEP
q Networking, iCloud, Encryption, SQLite
q GPS, telefonie,SMS
q Facebook, Twitter

SRWDM Curs nr. 2 – 2022 – 2023 57

57

19
Core OS
q Bluetooth
q USB

q Operații kernel

SRWDM Curs nr. 2 – 2022 – 2023 58

58

Principalele componente
q Activități -> ViewController
q Intenții -> tranziții (Segues) prezentarea altor
ViewController-e
q Servicii -> „Background Mode” și apeluri de API-uri
specifice
q Furnizori de conținut -> CoreData
q Schema ecranului (layout) -> Storyboards și Scene

SRWDM Curs nr. 2 – 2022 – 2023 59

59

20

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