Sunteți pe pagina 1din 12

Noţiunea de Activitv - componentă a unei aplicaţiei ce oferă o interfaţă grafică cu care utilizatorul poate să

interacţioneze. () aplicaţie Android e formată din una sau mai multe activităţi, iar timpul de execuţie nu
influenţează timpul de răspuns al aplicaţiei. Există întotdeauna o activitate principală care este afîşată atunci
cînd aplicaţia Android este lansată în execuţie iniţială.

Activity Lifecycle - ciclul de viaţă al unei activităţi, descrie starea în care o activitate poate fi la un moment
dal.

• Resumed(running) or active - in foreground, user focus

Activitatea se află în prim plan şi este vizibilă, astfel încât utilizatorul poate interacţiona cu
aceasta prin intermediul interfeţei grafîce pe care o oferă(running)

• Paused - stopată parţial de sistem sau o alta activitate e in focus, dar inca e vizibila

Activitatea se află în fundal şi este (parţial) vizibilă; o astfel de situaţie este întâlnită în
momentul în care o altă activitate a fost pomită, însă interfaţa sa grafîcă este transparentă
sau nu ocupă întreaga suprafaţă a dispozitivului de afîşare.

• Stopped - complet in background

Activitatea se allă în background şi este complect ascunsă; o astfel de situaţie este întîlnită
în momentul în care o altă activitate a fost pomită, iar interfaţa sa grafică ocupă întreaga
suprafaţă a dispozitivului de afişare.
• Destroved - distrugerea procesului, sistemul renunţă la activitatea din memorie, eliberînd

memona.
Process Lifecycle :

• Foreground activity - activitatea principală, care este vizibilă, se află în proces principal.
Procesul va fi distrus , doar dacă se foloseşte mai multă memorie decît cea disponibilă.
• Visible activitv - activitate vizibilă(este vizibilă pentru utilizator, dar nu este în prim-
plan). Este considerată extrem de importantă şi nu va fi distrusă decît dacă este necesar
pentru a menţine activitatea din prim-plan.
• Background activity - activitate care nu este vizibilă pentru utilizator şi a fost oprită.
Sistemul poate ucide în siguranţă procesul său pentru a recupera memorie pentru alte
procese. La repomirea activităţii, aceasta va repomi în aceeaşi stare în care 1-a lăsat
ultima dată utilizatorul.
• Empt> process - proces gol care nu găzduieşte activităţi sau alte conponente ale
aplicaţiei(Servicii sau BroadcastReceiver). Acestea sunt distruse de sistem, deoarece
memoria devine scăzută.
() intenţie este un mecanism de conexiune între componentele S() Android şi se caracterezieaza prin
flexiblitate, extensibilitate, propagă un mesaj asincron.
Intenţie = aeţiune+date
Invocă activităţi sau servicii şi se folosesc la transmiterea mesajelor la nivel de SO:apel telefonic, SMS,
status conectivitate, baterie.
• () componentă(activitate/serviciu), ce este definită în AndroidManifest.xml şi eticheta
<intent-lllter>
• acţiunea(action) - este indicată prin proprietatea androidiname, cele mai frecvente vaiori
fiind: MAIN,VIEW, DIAL, CALL, ANSWER,SEND.
• data - reprezintă informaţiile care vor fi procesate, fmd exprimate de obicei sub formă de
URI.
1. Uri.parse()
2. android:host, android:port
3. android:path
4. android:scheme
• category (android:name) - LAUNCHER, DEFAULT,ALTERNATIVE
• type
• component
• extra : putE.\tra()/getExtrea()

Intent Resolution (Explicit Intent/ Implicit Intent)


Implicit Intent (Invocare prin precizarea clasei incarcate )
In fişierul AndroidManifest.xml, orice activitate defmeşte în cadrul elementului
<intent-lilter>, denumirea unei acţiuni care va putea fi folosită de o intenţie pentru a o invoca. Se defîneşte o
acţiune predefinită de utilizator, din categoria DEFAULT!
<activity
android:name=Mro.pub.cs.systems.eim.lab04.MainActivity"
android:label ="@string/app_nameM >
<intent-filter>
<action android:name=Mro.pub.cs.systems.eim.lab()4.intent.action.MainActivityM />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

Prin intermediul unei intenţii, o aplicaţie poate invoca atât o activitate din cadrul său, cât şi o activitate
aparţinând altei aplicaţii.

în situaţia în care se apelează o activitate din cadrul aceleiaşi aplicaţii, se poate folosi folosi metoda
startActivity(new Intent(this, AnotherActivity.class));
■ dacă se doreşte rularea unei activităţi existente în cadrul altei aplicaţii, aceasta va trebui referită prin
numele său complet, inclusiv denumirea pachetului care o identifică
startActivity(new Intent("ro.pub.cs.systems.eim.lab()4.Another
Explicit Intent (Invocare prin precizarea acţiunii)
() intenţie poate fi definită şi prin intermediul unei acţiuni care se doreşte a fi realizată, pentru care pot fi
ataşate opţional şi anumite date. Utilizatorul care foloseşte un astfel de mecanism nu cunoaşte activitatea (sau
aplicaţia Android) care va ti lansată în execuţie pentru realizarea acţiunii respective. Pentru a putea îndeplini
o astfel de solicitare, sistemul de operare Android trebuie să identifice, la momentul rulării, activitatea care
este cea mai adecvată pentru a rezolva acţiunea dorită. In acest fel, pot fi utilizate funcţionalităţi deja
implementate în cadrul sistemului de operare Android, fară a cunoaşte în prealabil aplicaţia responsabilă de
aceasta.

căutarea unor informaţii pe Intemet folosind un motor de căutare, termenul câutat fiind indicat în secţiunea
extra asociată intenţiei, fiind identificată prin cheia SearchManager.QUERY:

Intent intent = new Intent(Intent.ACTI()N_WEB_SEARCH


intent.setData(Uri.parse( "http://www.google.ro" ));
Intentii cu difu/are

Construirea unei intenţii care urmează să fîe difuzată la nivelul sistemului de operare Android poate fi
realizată prin definirea unui obiect de tipul Intent, pentru care se vor speciflca acţiunea. datele şi categoria,
astfel încât obiectele de tip ascultător să îl poată identifîca cât mai exact. Ulterior, acesta va fi trimis tuturor
proceselor aferente aplicaţiilor instalate pe dispozitivul mobil prin intennediul metodei sendBroadcast(),
căreia îi este ataşat ca parametru.

Intent intent = new Intent(S()ME_ACTI()N);


intent.putExtra("ro.pub.cs.systems.eim.lab04.someKey", someValue): sendBroadcast (intent):

PRIMIREA UNEIINTENŢII CU DIFUZARE


Pentru a putea primi o intenţie cu difuzare, o componentă trebuie să fie înregistrată în acest sens, definind un
filtru de intenţii pentru a specifica ce tipuri de acţiuni şi ce tipuri de date asociate intenţiei poate procesa.
() clasă capabilă să proceseze intenţii cu difuzare este derivată din android.content.BroadcastReceiver,
implemenlând metoda onReceive() pe care realizează rutina de tratare propriu-zisă:

import android.content.BroadcastReceiver;
imporl android.content.
Context; import
android.content.Intent;
public clas SomeEventBroadcastReceiver extends BroadcastReceiver
@Override
public void onReceive Context context, Intent intent
//...
}
i }

Metoda onReceiveO va fi invocată în mod automat în momentul în care este primită o intenţie cu diluzare,
fiind executată pe firul de execuţie principal al aplicaţiei. De regulă, în cadrul acestei metode utilizatorul este
anunţat asupra producerii evenimentului prin intermediul serviciului de notiflcare (Notification Manager),
este lansat în execuţie un serviciu sau sunt actualizate componente din cadrul interfeţei grafîce.

Tipuri particulare de intenţii cu difuzare

Există si tipuri particulare de intenţii cu difuzare:

1. intenţii cu difuzare ordonate. utile în situaţia în care o intenţie cu difuzare trebuie să fie procesată
secvenţial de mai mulţi ascultători, fiecare dintre aceştia având posibilitatea de a modifîca intenţia
respectivă;
2. intenţii cu difuzare persistente. care menţin valoarea care a fost transmisă cel mai recent.
Gestiunea intenţiilor cu difuzare native

Cele mai multe ser\icii de sistem transmit intenţii cu difuzare pentru a semnala faptul că s-au produs anumite
modifîcări la nivelul stării dispozitivului mobil sau al aplicaţiilor (primirea unui apel telefonic / mesaj,
schimbarea nivelului de încărcare al bciteriei, conectivitatea la Intemet).

ACTION_BATTERY_CHANCJED , ACTION BATTERY LOW, ACTION_BATTERY_OKAY, ACTION


BATTERY CONNECTED

Android Manifest
Fiecare proiect Android include fisierul AndroidManifest.xml, care este un root directory. Manifest este
importantă parte a unei aplicaţii deaorecere defineşte structura aplicaţiei, componentele.
Fişierul include tag pentru Activitate, Serv ices, Content Provider şi Broadcast Receiver,cee ace permite
invocarea intenţiilor şi interacţiunea activităţilor.
<manifest xmlnsiandroid—'http://schemas.android.com/apk. res/android "
package="com.paad.myapp"
android:versionCode=" 1"
android:versionName="0.9 Beta"
android:installLocation="preferExtemal">
[....manifest rnxles....]
</manilest>

• <activity> for each subclass of Activity.


• <service> for each subclass of Service.
• <receiver> lbr each subclass of BroadcastReceiver.
• <provider> for each subclass of ContentProvider.
• <intent-filter> - Specifică tipurile de intenţii la care poate primi un activ, un serviciu sau un receptor de
difuzare.
• <permission> - Declareazâ o permisiune de securitate care poate fi utilizată pentru a limita accesul la
anumite componente sau caracteristici ale acestei aplicaţii sau ale altor aplicaţii.
• <uses-sdk> - Vă pemiite să exprimaţi compatibilitatea unei aplicaţii cu una sau mai multe versiuni ale
platformei Android. cu ajutorul unui număr întreg de nivel API.
• <catetzorv> - Adaugă un nume de categorie la un filtru de intenţie.

• <application> - Declararea unei aplicaţii

• <manifest> - root AndroidManifest.xml


• <?xml version—’ 1.0" encoding=Mutf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/androidM
android:versionCode=" 1" android:versionName=" 1.0"
package="com.example.myapp" >

<!— Bevvare that these values are overridden by the build.gradle file —>
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="26" />

<application
android:allovvBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundlconF"@mipmap/ic_launcher_round"
android: label ="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">

<!— This name is resolved to com.example.myapp.MainActivity


based upon the package attribute -->
<activity android:name=".MainActivity">
<intent-filter>
<action androidiname—'android.intent.action.MAlN" />
<category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
</activity>

<activity
android:name=".DisplayMessageActivity"
android:parentActivityName=".MainActivity" />
</application>
</manifest>

Structura unui Servieiu

Un serviciu este o componentă Android adecvată pentru implementarea de funcţionalităţi complexe,


implică un volum de procesare mare, de lungă durată, ce nu necesită interacţiune cu utilizatorul.
Procese care ar trebui să ruleze în background. Serviciul este rulat pe firul de execuţie principal al
aplicaţiei Android.
<service
android:name="ro.pub.cs.systems.eim.lab()5.SomeSer\iceM
android:enabled="true"
android:permission="ro.pub.cs.systems.eim.lab()5.S()ME_SERV’ICE_PERMISSI()N" />

• clasa android.app.Service
onCreate()
onBind(Intent)

• definit în AndroidManifest.xml - eticheta <service>


android:name - clasa care implementează serviciul
android:permission - restrictioneazâ operaţiile de pornire oprire la componentele care o
deţin

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

  • Pam Examen
    Pam Examen
    Document7 pagini
    Pam Examen
    Daniil
    Încă nu există evaluări
  • SOMIPPRaspunsuri
    SOMIPPRaspunsuri
    Document82 pagini
    SOMIPPRaspunsuri
    Urmanschi Mihail
    Încă nu există evaluări
  • Examen PPe
    Examen PPe
    Document11 pagini
    Examen PPe
    crismaruion
    100% (2)
  • Pam Exam
    Pam Exam
    Document2 pagini
    Pam Exam
    Culea Constantin
    Încă nu există evaluări
  • Examen Somipp
    Examen Somipp
    Document65 pagini
    Examen Somipp
    Ana Toma
    100% (1)
  • Somipp Raspunsuri
    Somipp Raspunsuri
    Document82 pagini
    Somipp Raspunsuri
    Augusta Bucataru
    Încă nu există evaluări
  • Lab 2 Pam
    Lab 2 Pam
    Document5 pagini
    Lab 2 Pam
    Augusta Bucataru
    Încă nu există evaluări
  • Lab 1 Somipp
    Lab 1 Somipp
    Document7 pagini
    Lab 1 Somipp
    TîmburŞtefan
    Încă nu există evaluări
  • Lab2 PAM
    Lab2 PAM
    Document12 pagini
    Lab2 PAM
    Ion Popescu
    Încă nu există evaluări
  • Lab 2 Somipp
    Lab 2 Somipp
    Document5 pagini
    Lab 2 Somipp
    Augusta Bucataru
    Încă nu există evaluări
  • BDC Lucrare de Curs
    BDC Lucrare de Curs
    Document37 pagini
    BDC Lucrare de Curs
    Vladislav Crivenco
    Încă nu există evaluări
  • Examen TIDPP
    Examen TIDPP
    Document3 pagini
    Examen TIDPP
    Rosca Doinita
    Încă nu există evaluări
  • Lab1 Pam
    Lab1 Pam
    Document9 pagini
    Lab1 Pam
    Ion Popescu
    100% (2)
  • Lab 6 Somipp
    Lab 6 Somipp
    Document5 pagini
    Lab 6 Somipp
    Augusta Bucataru
    Încă nu există evaluări
  • PAM Lab 1
    PAM Lab 1
    Document6 pagini
    PAM Lab 1
    Vladislav Crivenco
    Încă nu există evaluări
  • Somipp SOMIPP5
    Somipp SOMIPP5
    Document6 pagini
    Somipp SOMIPP5
    Damean Alexandra
    Încă nu există evaluări
  • Pam 4
    Pam 4
    Document4 pagini
    Pam 4
    violina
    Încă nu există evaluări
  • Lab. 3
    Lab. 3
    Document5 pagini
    Lab. 3
    Cristina Florea
    Încă nu există evaluări
  • SOMIPP7
    SOMIPP7
    Document3 pagini
    SOMIPP7
    Damean Alexandra
    Încă nu există evaluări
  • Lab 1 Somipp
    Lab 1 Somipp
    Document5 pagini
    Lab 1 Somipp
    Augusta Bucataru
    Încă nu există evaluări
  • SOMIPP Lab 5
    SOMIPP Lab 5
    Document5 pagini
    SOMIPP Lab 5
    Augusta Bucataru
    Încă nu există evaluări
  • TMPS Proiect de Semestru
    TMPS Proiect de Semestru
    Document18 pagini
    TMPS Proiect de Semestru
    Guzun Ion
    Încă nu există evaluări
  • SOMIPP
     SOMIPP
    Document6 pagini
    SOMIPP
    Damean Alexandra
    Încă nu există evaluări
  • Laborator NR.2
    Laborator NR.2
    Document9 pagini
    Laborator NR.2
    Daniil
    Încă nu există evaluări
  • Somipp Linux 4 UTM
    Somipp Linux 4 UTM
    Document4 pagini
    Somipp Linux 4 UTM
    Cristi Poselețchi
    Încă nu există evaluări
  • Lab.6 FC
    Lab.6 FC
    Document3 pagini
    Lab.6 FC
    Cristina Florea
    Încă nu există evaluări
  • Lucrare de Curs BDC
    Lucrare de Curs BDC
    Document17 pagini
    Lucrare de Curs BDC
    Petru Voloceai
    Încă nu există evaluări
  • Lab 1 PAD Braga Eugen
    Lab 1 PAD Braga Eugen
    Document7 pagini
    Lab 1 PAD Braga Eugen
    Alexandru Kirika
    Încă nu există evaluări
  • SOMIPP Lab5
    SOMIPP Lab5
    Document4 pagini
    SOMIPP Lab5
    X3 KTO
    Încă nu există evaluări
  • Lab7 AMOO
    Lab7 AMOO
    Document11 pagini
    Lab7 AMOO
    Сергей Борта
    Încă nu există evaluări
  • Lab2 (TS)
    Lab2 (TS)
    Document7 pagini
    Lab2 (TS)
    Zeul Hriscei
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document4 pagini
    Lab 3
    Rosca Doinita
    Încă nu există evaluări
  • Proiect de Curs AMOO Druta
    Proiect de Curs AMOO Druta
    Document48 pagini
    Proiect de Curs AMOO Druta
    nn nnn
    Încă nu există evaluări
  • Lab 4 BDC
    Lab 4 BDC
    Document8 pagini
    Lab 4 BDC
    Ion Popescu
    0% (1)
  • Somipp Lab4
    Somipp Lab4
    Document3 pagini
    Somipp Lab4
    Raducan Alina
    Încă nu există evaluări
  • BDC 9b
    BDC 9b
    Document5 pagini
    BDC 9b
    Victor Noroc
    Încă nu există evaluări
  • Somipp Linux 2 UTM
    Somipp Linux 2 UTM
    Document7 pagini
    Somipp Linux 2 UTM
    Cristi Poselețchi
    Încă nu există evaluări
  • Lab 1 Tmps
    Lab 1 Tmps
    Document5 pagini
    Lab 1 Tmps
    Victor Turculet
    Încă nu există evaluări
  • Iepuras Daniel Lab 1 TS
    Iepuras Daniel Lab 1 TS
    Document4 pagini
    Iepuras Daniel Lab 1 TS
    DanuIepuras
    Încă nu există evaluări
  • Lab 3 Somipp
    Lab 3 Somipp
    Document14 pagini
    Lab 3 Somipp
    Augusta Bucataru
    Încă nu există evaluări
  • PS TS
    PS TS
    Document14 pagini
    PS TS
    Victor Turculet
    Încă nu există evaluări
  • SOMIPP Lab6
    SOMIPP Lab6
    Document4 pagini
    SOMIPP Lab6
    Dan
    Încă nu există evaluări
  • SQL Lab1
    SQL Lab1
    Document27 pagini
    SQL Lab1
    Ion Şuiu
    Încă nu există evaluări
  • Proiect de An AMOO
    Proiect de An AMOO
    Document39 pagini
    Proiect de An AMOO
    Raducan Alina
    100% (1)
  • Lab 1
    Lab 1
    Document22 pagini
    Lab 1
    Nicoletta Ciudin
    Încă nu există evaluări
  • SOMIPP Lab1
    SOMIPP Lab1
    Document6 pagini
    SOMIPP Lab1
    violina
    Încă nu există evaluări
  • Pad LP 01
    Pad LP 01
    Document7 pagini
    Pad LP 01
    Andrei Guritanu
    Încă nu există evaluări
  • Amoo 1
    Amoo 1
    Document8 pagini
    Amoo 1
    Liliana Condrea
    Încă nu există evaluări
  • Lab 7
    Lab 7
    Document2 pagini
    Lab 7
    Cristina Florea
    Încă nu există evaluări
  • Lab. 1. BDC Utm Fcim
    Lab. 1. BDC Utm Fcim
    Document15 pagini
    Lab. 1. BDC Utm Fcim
    Fernando Epic Costa
    0% (1)
  • Examen PW
    Examen PW
    Document71 pagini
    Examen PW
    DorinRotaru
    Încă nu există evaluări
  • Lab 7 Somipp
    Lab 7 Somipp
    Document5 pagini
    Lab 7 Somipp
    Augusta Bucataru
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document6 pagini
    Lab 2
    Maria Sevciuc
    Încă nu există evaluări
  • PPE Lab7
    PPE Lab7
    Document14 pagini
    PPE Lab7
    danielploaia
    Încă nu există evaluări
  • Lab4 en Somipp
    Lab4 en Somipp
    Document36 pagini
    Lab4 en Somipp
    Catherine Nemerenco
    Încă nu există evaluări
  • Pam Test 1
    Pam Test 1
    Document4 pagini
    Pam Test 1
    Eric Semeniuc
    Încă nu există evaluări
  • Seminar 2
    Seminar 2
    Document26 pagini
    Seminar 2
    Carina Rizea
    Încă nu există evaluări
  • Tema 2 - Structura Aplicației Android
    Tema 2 - Structura Aplicației Android
    Document28 pagini
    Tema 2 - Structura Aplicației Android
    Mister Anonim
    Încă nu există evaluări
  • Structura Unei Aplicații Android
    Structura Unei Aplicații Android
    Document36 pagini
    Structura Unei Aplicații Android
    Lucian
    Încă nu există evaluări
  • New Microsoft Word Document
    New Microsoft Word Document
    Document26 pagini
    New Microsoft Word Document
    DanuIepuras
    Încă nu există evaluări
  • TS Laboratorul nr.4
    TS Laboratorul nr.4
    Document1 pagină
    TS Laboratorul nr.4
    Eric Semeniuc
    Încă nu există evaluări
  • Pizza TS
    Pizza TS
    Document1 pagină
    Pizza TS
    Eric Semeniuc
    Încă nu există evaluări
  • Exemplu 1
    Exemplu 1
    Document3 pagini
    Exemplu 1
    Eric Semeniuc
    Încă nu există evaluări
  • Pam Test 1
    Pam Test 1
    Document4 pagini
    Pam Test 1
    Eric Semeniuc
    Încă nu există evaluări
  • Sae2 PDF
    Sae2 PDF
    Document37 pagini
    Sae2 PDF
    Eric Semeniuc
    Încă nu există evaluări
  • 1.modele I Elemente Ale Structurii XML
    1.modele I Elemente Ale Structurii XML
    Document13 pagini
    1.modele I Elemente Ale Structurii XML
    Maria Sevciuc
    Încă nu există evaluări
  • Conspect Rom 2020
    Conspect Rom 2020
    Document76 pagini
    Conspect Rom 2020
    Victoria Bîlici
    Încă nu există evaluări
  • Laborator 2 Raport
    Laborator 2 Raport
    Document9 pagini
    Laborator 2 Raport
    Eric Semeniuc
    Încă nu există evaluări
  • Cap - 1
    Cap - 1
    Document18 pagini
    Cap - 1
    Eric Semeniuc
    Încă nu există evaluări
  • Lucrare de Laborator nr.1
    Lucrare de Laborator nr.1
    Document17 pagini
    Lucrare de Laborator nr.1
    Eric Semeniuc
    Încă nu există evaluări
  • Luc01 2017
    Luc01 2017
    Document21 pagini
    Luc01 2017
    Eric Semeniuc
    Încă nu există evaluări
  • Документ Microsoft Word
    Документ Microsoft Word
    Document17 pagini
    Документ Microsoft Word
    Eric Semeniuc
    Încă nu există evaluări
  • Semeniuc Eric Lab2 CDE
    Semeniuc Eric Lab2 CDE
    Document8 pagini
    Semeniuc Eric Lab2 CDE
    Eric Semeniuc
    Încă nu există evaluări
  • Lab 1 LFA
    Lab 1 LFA
    Document10 pagini
    Lab 1 LFA
    Eric Semeniuc
    Încă nu există evaluări
  • Raport ASDN 2
    Raport ASDN 2
    Document6 pagini
    Raport ASDN 2
    Eric Semeniuc
    Încă nu există evaluări