Introducere in Platforma Android

14
Platforma Android Sistem de operare Android Auto (mai nou) Android Wear Diverse variante de Android pentru camere digitale, console etc.

description

Structura AndroidLinux Kernelversiunile 3.4/3.10, in principaldiferente arhitecturale (de optimizare) fata de kernel-ul LinuxOpen-source(partial, intrucat cele mai multe device-uri vin in combinatie cu proprietary software, pentru a accesa diverse servicii Google)Diverse optimizari:de memorie (fara swap)d.p.d.v al IPC (Intents, bundles, binders)

Transcript of Introducere in Platforma Android

Page 1: Introducere in Platforma Android

Platforma Android

• Sistem de operare• Android Auto (mai nou)• Android Wear• Diverse variante de Android pentru camere digitale, console etc.

Page 2: Introducere in Platforma Android

Open-source Linux-based platform

Dalvik(JVM optimizata)

Cea mai populara platforma

Create de Google

Platforma Android - mobile

Page 3: Introducere in Platforma Android

Structura Android

Software Stack

Page 4: Introducere in Platforma Android

Structura Android

• Linux Kernel• versiunile 3.4/3.10, in principal• diferente arhitecturale (de optimizare) fata de kernel-ul Linux

• Open-source(partial, intrucat cele mai multe device-uri vin in combinatie cu proprietary software, pentru a accesa diverse servicii Google)• Diverse optimizari:• de memorie (fara swap)• d.p.d.v al IPC (Intents, bundles, binders)

Page 5: Introducere in Platforma Android

Biblioteci User Space

• Bionic• SQLite• SSL• OpenGL• Surfaces• ...

Page 6: Introducere in Platforma Android

Dalvik (JVM) Interpreter

• Sursa Java este compilata in bytecode

• Bytecode-ul este un tip de msi(machine instruction set)

• Dalvik interpreteaza bytecode-ul Java

• Dalvik optimizeaza in mod diferit bytecode-ul pentru masinile Android, spre deosebire de clasicul JVM

Page 7: Introducere in Platforma Android

Versiuni Android

• Marshmallow (6.0)• Lollipop (5.0-5.1.1)• KitKat (4.4-4.4.4)• Jelly Bean (4.1-4.3.1)• ...

• Alegand un anumit API, in functie de versiunea SO-ului, putem adauga noi functionalitati aplicatiilor pe care le cream

Page 8: Introducere in Platforma Android

API - functionalitati vs. cota de piata

• Default, in Android Studio, este API 15 (Ice Cream Sandwich 4.0.3)• Un API level mare ne ofera functionalitati mai variate• In acelasi timp, un API mic poate acoperi o mai mare parte din device-

urile Android de pe piata• In functie de aplicatia pe care o cream,putem alege un API

corespunzator

Page 9: Introducere in Platforma Android

Posibilitati de programare

• Android SDK - Java• folosind Android Studio (in principal, din 2014)• folosind Eclipse, cu ADT(Android Development Tools)

• Android NDK - C/C++• Folosit pentru a implementa parti ale aplicatiei cu ajutorul unor anumite

limbaje(C/C++)• Use cases: aplicatii care solicita mult CPU-ul (game engines, signal processing

etc.)

• Framework-uri• Kivy(Python), Qt for Android etc.

Page 10: Introducere in Platforma Android

Securitate• Fiecare aplicatie ruleaza sub propria identitate

• Semnaturi digitale diferite• sandbox=un spatiu alocat fisierul, proceselor etc. pentru fiecare aplicatie, izolat de restul sistemului de fisiere

• Sistemul Android mediaza comunicarea intre UI si periferice in cadrul aplicatiei(GPS, camera, microfon, touchpad etc.)• Sistem de fisiere ext3• Fiecare aplicatie isi "declara" propriile permisiuni• patch-urile de securitate ating doar o parte din sistemele Android, lasand

87% din device-uri neprotejate, in acest sens

Page 11: Introducere in Platforma Android

Android si restul...

Page 12: Introducere in Platforma Android

Android si restul...

• Cele patru platforme principale de pe piata sunt • Android• Windows Phone• iOS• BlackBerry OS

• Aproximativ 97% din utilizatori folosesc Android sau iOS

Page 13: Introducere in Platforma Android

Android vs. iOS

Page 14: Introducere in Platforma Android

Android vs iOS

• Android:• Developer (30$ o data)• Java• open-source• flexibilitate mai buna

• iOS• Developer (100$ anual)• Swift, Objective C• closed-source• RAM/memory management + securitate mai buna