pre zen tare android
TRANSCRIPT
-
8/6/2019 Pre Zen Tare Android
1/44
AndroidSistem, platform, tipuri deaplicaii
Drd. Ing. Alexandru RADOVICI
-
8/6/2019 Pre Zen Tare Android
2/44
Bibliografie
1. Mark MURPHY, Beginning Android 2, Apress,2010
2. Satya KOMATINENI, Sayed HASHIMI, ProAndroid 2, Apress 2010
3. Android Application Fundamentals,http://developer.android.com/guide/topics/fundamentals.html
4. Google IO, http://code.google.com/intl/ro-RO/events/io/2010/
2
http://developer.android.com/guide/topics/fundamentals.htmlhttp://developer.android.com/guide/topics/fundamentals.htmlhttp://code.google.com/intl/ro-RO/events/io/2010/http://code.google.com/intl/ro-RO/events/io/2010/http://code.google.com/intl/ro-RO/events/io/2010/http://code.google.com/intl/ro-RO/events/io/2010/http://code.google.com/intl/ro-RO/events/io/2010/http://developer.android.com/guide/topics/fundamentals.htmlhttp://developer.android.com/guide/topics/fundamentals.html -
8/6/2019 Pre Zen Tare Android
3/44
Google Android
3
-
8/6/2019 Pre Zen Tare Android
4/44
Platforma Android
Android
Sistem de operare
Platforma
Tipuri de aplicaii Activiti
Servicii
Baze de coninut
Intenii
Receptori
4
-
8/6/2019 Pre Zen Tare Android
5/44
NU doar un sistem de operare
Radio Firmware Sistemul de telefonie
GSM/CDMA / UMTS
Linux
Kernel 2.6.36 Android Cupcake (2.1)
Optimizat pentru ARM
Biblioteci User Space Bionic
SQLite WebKit
Platform pentru aplicaii
5
-
8/6/2019 Pre Zen Tare Android
6/44
Schema Android
6
-
8/6/2019 Pre Zen Tare Android
7/44
Kernel
Sistemul de operare Nu se vede
Maina extins Abstractizare a hardware-ului
Conine driver-ele Gestionarea
Proceselor Perifericelor
Audio
Video GPS WiFi
Intrare/Ieire Stiva de reea
7
-
8/6/2019 Pre Zen Tare Android
8/44
Kernel - Optimizri
Gestionare de memorie Far swap
Sistem de inchidere deaplicaii la nevoie
Gestionarea consumului WAIT_LOCK
IPC specific
Binder AIDL
Apeluri sincron ntre procese
8
-
8/6/2019 Pre Zen Tare Android
9/44
Gestiunea consumului de putere
9
-
8/6/2019 Pre Zen Tare Android
10/44
Biblioteci User Space
Biblioteci pentruprogramare Fac legrurantre kernel
i program
Afiare pe ecran printf()
scanf()
Acces la reea
socket() Bionic
Libc pentru Android
10
-
8/6/2019 Pre Zen Tare Android
11/44
Biblioteci User Space
SQlite
WebKit
Surfaces
FreeType
Media Framework
OpenGL|ES
SSL
11
-
8/6/2019 Pre Zen Tare Android
12/44
Dalvik - Android Runtime
Main virtuala (Java) Java 1.5 SE
Aproximativ
Lipsesc
AWT / Swing Imprimare
Alte componente speciale
Optimizat pentru mobile Spaiu mic de memorie
Colectare de gunaoie rapid Format de fiiere diferit
.class -> .dex
Compilator JIT
12
-
8/6/2019 Pre Zen Tare Android
13/44
Bibliotecile Android
Pentru Dalvik Nu sunt biblioteciile user
space!
Scrise n Java
Access la funciiletelefonului Telefonie Mesaje Senzori
Servicii Manager de ferestre Manager Audio
13
-
8/6/2019 Pre Zen Tare Android
14/44
Schema Android
14
-
8/6/2019 Pre Zen Tare Android
15/44
Faciliti
API pentru dezvoltarea deaplicaii Dalvik
Browser integrat Grafic
2D optimizat 3D OpenGL ES 1.0
SQLite Baza de date
Support Multimedia Audio / Video
GSM Conectivitate
Bluetooth WiFi GPRS / EDGE / 3G
Sezori Aparat foto GPS / AGPS Magnetometru Accelerometru
Platform de dezvoltare Linie de comand Eclipse
15
-
8/6/2019 Pre Zen Tare Android
16/44
Posibiliti de programare
Dalvik (Aplicaie) n Java Vitez medie Acces la multe biblioteci
AJAX n Browser (WebKit) Lent Programare JavaScript
Native Development Kit (NDK) C/C++ Numr limitat de biblioteci
Rapid Suport JNI Nerecomandat
Beta
C/C++ (direct pe sistem)
16
-
8/6/2019 Pre Zen Tare Android
17/44
Securitatea Aplicaiilor
Implmentat in kernel Politica din Linux Sistem de fiiere ext3 Utilizatorii pot scrie doar n
directorul lor
Fiecare aplicaie ruleaz sub alt
utilizator Determinat de semntura digital!
Grupuri de permisiuni Verificare subsitemul de reea
Poate scrie n
/data/nume.pachet.aplicaie/ /SDCard/
Funcioneaz pentru orice tip deapliucaie
Dalvik / AJAX / NDK / C/C++
17
-
8/6/2019 Pre Zen Tare Android
18/44
-
8/6/2019 Pre Zen Tare Android
19/44
Programe (Dalvik)
Nu exista main()
Formate din componente
Activii
Servicii Intenii
Baze de coninut
Receptori de evenimente
Componentele pot rulaseparat
19
-
8/6/2019 Pre Zen Tare Android
20/44
Aplicaie (Dalvik)
Fiier APK JAR nearhivat
Componente Fiier .dex
Resurse Imagini Fiiere XML
Manifest Fiier de informaii
Semntura digitala
Pentru dezvoltare
Pentru producie Autentic
Autosemnat
20
-
8/6/2019 Pre Zen Tare Android
21/44
Componentele aplicaiei
21
-
8/6/2019 Pre Zen Tare Android
22/44
Task (aplicaie cu interfa grafic)
Ruleazntr-un process n general!
exist excepii
Stiv de activiti
Activitate rdcin Root activity
Adugarea Afiare
push
tergerea Ascundere
pop
Activii din alt aplicaie
22
-
8/6/2019 Pre Zen Tare Android
23/44
Task (aplicaie cu interfa grafic)
Ruleazntr-un process n general!
exist excepii
Stiv de activiti
Activitate rdcin Root activity
Adugarea Afiare
push
tergerea Ascundere
pop
Activii din alt aplicaie
23
-
8/6/2019 Pre Zen Tare Android
24/44
Activitatea
24
-
8/6/2019 Pre Zen Tare Android
25/44
Funcii importante
Clasa Activity void onCreate ();
void onStart();
void onRestart();
void onResume (); void onPause ();
void onStop ();
void onDestroy();
Trebuie apelate funciile
i funciile din printe
super.onCreate ();
25
-
8/6/2019 Pre Zen Tare Android
26/44
Activitatea
Fereastr
Supravieuieteprocesului
Serializarea Parial controlat de
programator
Nu este pentru
procesare mult
26
-
8/6/2019 Pre Zen Tare Android
27/44
Servicii
Component Android
Special pentruprocesare
Ruleaz n fundal(background)
Proces
Prioritate mai mic Mai stabil (n timp)
27
-
8/6/2019 Pre Zen Tare Android
28/44
Implementarea serviciilor
Extinde clasa Service
Serviciu simplu void onCreate ();
void onStart(Intent intent,
int startID);
void onDestroy();
Folosind AIDL void onBind(Intent intent);
void onUnbind();
28
-
8/6/2019 Pre Zen Tare Android
29/44
Implmentarea unui serviciu
1. Extinderea clasei Service
Implmentarea funciilor
Crearea unor fire de execuie
2. Declararea n manifest3. Pornirea / oprirea
startService ()
stopService ()
29
-
8/6/2019 Pre Zen Tare Android
30/44
Baze de coninut / Receptori
Baze de coninut
Oferire de informaii
Legtur cu SQLite
Bazate pe URL-uri
Receptori
Observatori
Sunt informai despre
evenimente publice SCREEN_ON
SCREEN_OFF
BATTER_STATUS_CHANGED
30
-
8/6/2019 Pre Zen Tare Android
31/44
Dezvoltare
Android SDK
Compilator DEX
Simulator
Programe pentru depanare
Eclipse
Plugin Android
Telefon Android
Preferabil cu drept de root
31
-
8/6/2019 Pre Zen Tare Android
32/44
Simulator vs. Telefon Real
Simulator Real
Booteaz Linux
Diferite versiuni 1.5 1.6
2.1
Se pornete separat!
Telefon real USB Debugging
Applications/Developent
32
-
8/6/2019 Pre Zen Tare Android
33/44
Depanare - DDMS
33
-
8/6/2019 Pre Zen Tare Android
34/44
Scheletul unei aplicaii
AndroidManifest.xml
build.xml default.properties bin
fiierele compilate res
drawable
layout
values
assets resurse
src fiierele surs
34
-
8/6/2019 Pre Zen Tare Android
35/44
Resurse Automate n cod Java
Drawable Imagini
R.drawable.nume R.drawable.icon
R.drawable.img1
R.drawable.img2
Layout
Containere
R.layout.nume R.layout.main
R.layout.people
35
-
8/6/2019 Pre Zen Tare Android
36/44
Resurse Automate n XML
Drawable Imagini
@drawable/nume @drawable/icon
@drawable/img1
@drawable/img2
Layout
Containere
@layout/nume @layout/main
@layout/people
36
-
8/6/2019 Pre Zen Tare Android
37/44
Construcia GUI cu XML
Component complex
Cod simplu
Fr cod Java
n codul activitii
this.setContentView (R.layout.nume);
37
-
8/6/2019 Pre Zen Tare Android
38/44
Exemplu de fiier GUI XML
38
-
8/6/2019 Pre Zen Tare Android
39/44
l f
-
8/6/2019 Pre Zen Tare Android
40/44
Exemplu de fiier GUI XML
android:id
Utilizarea componentein codul Java
@+id/nume R.id.nume
Exemplu @+id/button1
R.id.button1
40
l d f
-
8/6/2019 Pre Zen Tare Android
41/44
Exemplu de fiier GUI XML
XML Cod Jave
41
-
8/6/2019 Pre Zen Tare Android
42/44
Concluzii
Paltforma Android
Sistem de operare Linux Biblioteci de programare Android
Modaliti de programare Dalvik Java
AJAX Web NDK C/C++
Aplicaiile Dalvik sunt compuse din componente Activiti Servicii Intenii Baze de coninut Receptori de enimente Nu exist main()
Simulator real Task - Aplicaiile cu interfa grafic
Compuse din Activiti Supravieuiesc procesului
42
-
8/6/2019 Pre Zen Tare Android
43/44
Application Inventor
43
-
8/6/2019 Pre Zen Tare Android
44/44
ntrebri