Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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()
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:
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.
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.
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).
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>
<!— 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">
<activity
android:name=".DisplayMessageActivity"
android:parentActivityName=".MainActivity" />
</application>
</manifest>
• clasa android.app.Service
onCreate()
onBind(Intent)