220 likes | 397 Views
UNIVERSITATEA POLITEHNICA BUCURE Ș TI FACULTATEA de ELECTRONIC Ă , TELECOMUNICA Ț II Ș I TEHNOLOGIA INFORMA Ț IEI. - Android OS - Coordonator ș tiintific Stefan Stancescu Student: State Ana-Maria. Cuprins.
E N D
UNIVERSITATEA POLITEHNICA BUCUREȘTIFACULTATEA de ELECTRONICĂ, TELECOMUNICAȚII ȘI TEHNOLOGIA INFORMAȚIEI - Android OS - Coordonatorștiintific Stefan Stancescu Student: State Ana-Maria
Cuprins • Ceeste Android OS-Arhitectura ,kernel ,librarii • Procesesi fire de executie-thread-safe mode • Stocareadatelor la Android OS • Exemplu de aplicatiedezvoltatasiinstalatapeunelltele de dezvoltare SDK Android-Accelerometer Play • Evolutie Android OS-variante, dezvoltare software, • comparatie cu un alt OS • Concluzii
Ceeste Android OS-Arhitectura ,kernel ,librarii • Arhitectura, kernel-linux 2.6 si 3.x, librarii • Runtime siaplicatii framework-Dalvik virtual machine
Ceeste Android OS-Arhitectura • Arhitectura-stiva de layere, alcatuite din maimultecomponente de program • Layerelesunt: • •Applications layer • • Framework services and libraries layer • •Applications and most framework code executed in a virtual machine layer • •Native libraries, daemons and services layer •Kernel-ul Linux, care include driverepentru hardware, retea, accesul la de fișierul de sistemșicomunicarea inter-proces.
Ceeste Android OS-Arhitectura-Runtime siaplicatii framework-Dalvik • Runtime siaplicatii framework-Dalvik virtual machine sibiblioteci Core Java. • BibliotecileCore Java-reprezinta un subset derivatdin implementarea Apache Harmony Java. • Dalvik virtual machine-executăfișiere cu extensia .dex,provenite din fisiere cu extensia .class. • -permitecrearea de instante multiple ale masiniivirtualesimultan,oferindsecuritate , izolareainstantei, managementulmemorieisisuportpentru threading.
Ceeste Android OS-Arhitectura-Runtime siaplicatii framework-Dalvik • Aplicatii Framework-gestioneazafuncțiile de bază ale telefonului, cum ar fi managementulresurselor, managementulapelurilor de voce.Contineurmatoareleblocuri: • •Activity • •Content Providers • •Telephony • •LocationManager • •Resource Manager
Procesesi fire de-Tipuri de procese • Executiaproceselor-tipuri de procese: • Foreground • Visible • Background • Service • Empty
Procesesi fire de realizareafirelor de executie • Realizareafirelor de executie-Threadurilesunt create in cod folosind standard Java Threads objects. Android oferă o serie de clasepentrugestionareafirelor de executie - Looperpentru a rula o buclăîntr-un thread,Handler –utilizatpentruprelucrareamesajelor, șiHandlerThreadpentruînființareaunui thread, cu o buclă
Procesesi fire de executie-thread-safe mode • Metodepentruthread-safe- • Android oferă un mecanismpentru inter-comunicare (IPC), folosind Remote Procedure Calls (RPC), în care o metodăesteapelata de către o activitatesau o componentă a uneiaplicații, darexecutata la distanță (într-un alt proces), returnandoricerezultatînapoi la apelant.
Stocareadatelor la Android OS • Baza de date - API-ul Android continesuportpentrucreareașiutilizareabazelor de date SQLite. Fiecarebază de date esteasociataaplicației care o creează.ObiectulSQLiteDatabasereprezintă o bază de date cecontinemetodepentru a interacționa cu acesta - de interogărișigestionarea a datelor. Pentrucreareauneibaza de date, se apeleazarutinaSQLiteDatabase.create () și, de asemenea, subclasaSQLiteOpenHelper.[9]
Stocareadatelor la Android OS • Tipuride fisieresipreferences - Pentru a citi date dintr-un fișier, se apeleazaContext.openFileInput () și se trecenumeleșipathulfișierului. Returnează un obiect standard Java FileInputStream. • Pentru a scrieîntr-un fișier, se apeleazaContext.openFileOutput () cu numeleșipathulfisierului. Returnează un obiectFileOutputStream. Apelareaacestormetode nu funcționeazadecatpentrufișierele locale
Stocareadatelor la Android OS • Network - Stocareadatelorpe web se poate face folosind network serverulpropriu. • Pentru a face operatiuni de retea se folosescurmatoareleclase: • java.net.* • android.net.* • Exemple:
EvolutieAndroid OS-variante, dezvoltare software, comparatiecu un alt OS • Variante
EvolutieAndroid OS-variante, dezvoltare software, comparatiecu un alt OS • Variante
EvolutieAndroid OS-dezvoltare software siexemplu de aplicatie-Accelerometer Play • Dezvoltare software • SDK-ul Android include un set cuprinzător de instrumente de dezvoltare:program de depanare, biblioteci, un emulator de receptor (bazatpe QEMU), documentație, mostre de cod, șitutoriale • Include, de asemenea, Java Development Kit, Apache Ant, și Python 2.2 sau o versiuneulterioară.Mediul IDE este Eclipse (3.2 sau o versiuneulterioară);foloseste Android Development Tools (ADT) Plugin.
EvolutieAndroid OS-exemplu de aplicatie-Accelerometer Play • public class AccelerometerPlayActivity extends Activity { private SimulationViewmSimulationView; private SensorManagermSensorManager; private PowerManagermPowerManager; private WindowManagermWindowManager; private Display mDisplay; private WakeLockmWakeLock; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); // Get an instance of the SensorManagermSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); // Get an instance of the PowerManagermPowerManager = (PowerManager) getSystemService(POWER_SERVICE); // Get an instance of the WindowManagermWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);mDisplay = mWindowManager.getDefaultDisplay(); // Create a bright wake lockmWakeLock = mPowerManager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, getClass() .getName());
EvolutieAndroid OS-variante, dezvoltare software, comparatiecu un alt OS • Comparatie cu un alt OS
Concluzii • Este greu de precizat care dintreceledouasisteme de operareestemai bun, pentrucafiecaredintreceledouabeneficiaza de facilitatipe care celalaltsistem nu le are. • iOS are un sistemfoarte bun de aplicatii ,cu pretullipseicustomizariiinsa.Androidulbeneficiaza de un sistem de multitasking multmaiflexibil, dar nu are anumitepeformantepe care iOS le poateatinge.Desibeneficiaza de flash, se incarcamultmaigreudecatiOS. • De aceea , alegereaunuiadintresistemedepindeatat de nevoilefiecaruiutilizator in parte, cat si de ceperformante ne dorimsaatinga device-ulpe care ruleazaunul din sisteme. • In testele de benchmark s-a doveditcadiferenteleintreiOSsi Android suntdestul de mici, darfiecare are anumitesegmentepe care estelider