+ All Categories
Home > Documents > Introducere in Platforma Android

Introducere in Platforma Android

Date post: 04-Jan-2016
Category:
Upload: alex9216
View: 234 times
Download: 0 times
Share this document with a friend
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)
14
Platforma Android Sistem de operare Android Auto (mai nou) Android Wear Diverse variante de Android pentru camere digitale, console etc.
Transcript
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


Recommended