Laborator Activities În sistemul Android activitățile reprezintă echivalentul ferestrelor din Windows, fiind clase care extind clasa Activity. Spre de

Documente similare
Curs 6 Fragments Un fragment reprezintă o porțiune dintr-un Activity. Într-un activity se pot combina mai multe fragmente ți un fragment se poate reut

Laborator Fragments Un fragment reprezintă o porțiune dintr-un Activity. Într-un activity se pot combina mai multe fragmente ți un fragment se poate r

Laborator 3

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

Proiectarea Sistemelor Software Complexe

Web Social FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 2. Dezvoltarea blogurilor prin intermediul WordPress.com PREZE

CURS

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

în Tabletă convertibilă GHID DE UTILIZARE 8085 LKB001X CJB1FH002AZA

Biomedical Wi-Fi data transmissons

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

Microsoft Word _POO_Lab_1_Modificari_v01.htm

Curs de formare Informatică și TIC pentru clasa a V-a Portofoliu pentru evaluarea finală Tema: ELEMENTE DE INTERFAŢĂ ALE UNUI SISTEM DE OPERARE (DESKT

CABINET MINISTRU

Manual de utilizare Room Booking System

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

GHID PENTRU RESETAREA PAROLEI Informații Generale Din dorința de a facilita procesul de autentificare, chiar dacă nu mai cunoașteti datele necesare, a

TM200 Live Tour guide Sistem audio mobil Sistemul de comunicare audio Tour guide este util in cel putin 3 situatii si vine cu avantaje clare: 1) Cand

Microsoft Word - MANUAL_APP_ROMPOS_V7.docx


A

Ghid de conectare rapidă Cartela Internet Vodafone VMC R9.4 Cartela Internet Vodafone funcţionează cu aplicaţia Vodafone Mobile Connect

Update firmware aparat foto Mac Mulţumim că aţi ales un produs Nikon. Acest ghid descrie cum să efectuaţi acest update de firmware. Dacă nu aveţi încr

Ingineria Sistemelor de Programare

R E G U L A M E N T U L privind utilizarea Sistemului Informațional Automatizat Acreditare (SIA Acreditare) în cadrul Centrului Național de Acreditare

客厅电脑 酷影Q1000

Paradigme de Programare

BDV-EF1100

LABORATOR 1. Stocarea si partajarea fisierelor online cu ajutorul Dropbox, WeTransfer.com PREZENTAREA LUCRĂRII DE LABORATOR Lucrarea de laborator îşi

PowerPoint Presentation

Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011

Ghidul Utilizatorului GW210

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Regulile jocului Hotline Hotline este un slot video cu 5 role, 3 rânduri și 30 de linii (fixe) care conține simboluri Wild și Expanding Wild, Re-Spins

Microsoft Word - Plus TV Analog Pro Stick Installation _Rom V1.3_.doc

Ghid de Referință Explicații sumare ale operațiunilor de rutină HL-L2312D HL-L2357DW HL-L2352DW HL-L2372DN HL-L2375DW Brother recomandă să păstrați ac

FONDUL SOCIAL EUROPEAN

MIdland CT210 manual

Manual de utilizare Aplicatie Proiector I. Pornire/Oprire proiectie Pentru a porni/opri proiectia aveti 3 posibilitati: 1) Pentru pornirea proiectiei

Înregistraţi produsul achiziţionat şi veţi putea beneficia de suport pe pagina CD250 CD255 SE250 SE255 Ghid de iniţiere rapidă

Ghid utilizare aplicație PARKING BUCUREȘTI Aplicație PARKING BUCUREȘTI 1

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

AdVision este un software de narrowcasting, destinat tuturor celor care administrează conţinut pe o reţea de monitoare. Fie că este vo

Mr

Microsoft Word - TS Ghid Revocare On-Line CC V1.1

Investeşte în oameni Proiect cofinanţat din Fondul Social European prin Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane

Windows 7

A.E.F. - suport laborator nr.10 sem.ii Analiza stării de contact între elemente 3D În acest laborator sunt atinse următoarele aspecte: analiza contact

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I

Microsoft Word - PDS_proiect5_2019

XL30 Romanian quick start guide

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 4. Dezvoltarea site-urilor si blog-uri

Curs 10

Settlement participant system

SRS-BTS50_QSG_ro

MANUAL UTILIZARE ANGAJATORI PISA 2.0 Aplicatia este accesibila de pe siteurile: respectiv de la buto

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

Declararea variabilelor

Raportarea serviciilor de dializă la nivel CNAS

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

Agenţia de Dezvoltare Regională (ADR) Nord-Vest vă invită la lansările regionale a trei domenii majore de intervenţie aferente Programului Operaţional

Microsoft Word - Prezentare - A4 - cernavoda.doc

PowerPoint Presentation

Numele documentului: Ghid de utilizare Versiune 2 Din: Cod: Electronic: Ghid de utilizare - Programare online v.2.docx Ghid de utilizare SIR

Ghidul pentru utilizator

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

EW-7416APn v2 & EW-7415PDn Ghid de instalare Macintosh / v2.0 0

A.E.F. - suport laborator nr.8 sem.ii Analiza structurală la flambaj În acest laborator sunt atinse următoarele aspecte: modalitatea de analiză la fla

Microsoft Word - Excel_3.DOC

A.E.F. - suport laborator nr.5 sem.ii Analiza suprafețelor prin utilizarea elementelor 2D În acest laborator sunt atinse următoarele aspecte: realizar

{LINGO} Specificațiile produsului: - Dimensiune: 61 x 18 x 8 mm - greutate: 8,6 g - rază: 10 m -capacitatea și tipul bateriei: 90 mah, baterie polimer


Microsoft Word - CarteC.doc

9. Design patterns - Singleton, Factory, Observer Scopul acestui curs este familiarizarea cu folosirea unor pattern-uri des întâlnite în design-ul atâ

EVALUARE NAȚIONALĂ CLASA A VIII-A 2017 FLUX DE LUCRU PENTRU UTILIZATOR DE TIP CENTRU DE ÎNSCRIERE (CI)

Raportarea serviciilor de dializă la nivel CJAS

DCP330C_540CN_QSG_ROM.book

1 Lucrarea nr. 8 - Structuri de date de tip liste sortate O listă sortată reprezintă un aranjament al înregistrărilor din cadrul listei în funcţie de

PROGRAMA DE EXAMEN

e-learning Agronomie Platforma de e-learning Versiunea: Ghid de utilizare Beneficiar: UNIVERSITATEA DE STIINTE AGRONOMICE SI MEDICINA VETERINARA

Microsoft Word - lab4.doc

MyBRD Net Ghid practic de utilizare a Dispozitivului token

10mm 50mm 10mm 10mm 10mm

PowerPoint Presentation

Manual de utilizare Descrierea produsului Structura produsului 1) Butonul SUS (UP) 2) MENIU 3) Butonul JOS (DOWN) 4) Interfața USB 5) Cameră 6) Difuzo

Laborator 2 Incompatibilităţi/Diferenţe între C şi C++ Completări C++ Supraîncărcarea (redefinirea) numelui de funcţii În C nu este permisă existenţa

CD180 Romanian quick start guide

Addendum Syllabus 6 Microsoft Excel 2010 REF Syllabus 6.0 Crearea unui nou registru de calcul pe baza unor șabloane disponibile local sau online

Top

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

Информационная система персонализации, печати и учета документов об образовании

Metode API - integrare FGO v.2.5 Cuprins ISTORIC VERSIUNI... 2 INTRODUCERE... 2 APELARE... 4 NOMENCLATOARE... 4 FACTURA... 5 EMITERE... 5 PRINT... 6 S

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md

Laborator 2-3 Utilizarea programului de simulare electromagnetică EmPro Continuare În lucrarea de laborator se va investiga o linie de transmisie micr

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 1. Google Drive, Google Calendar, WeTr

Transcriere:

Laborator Activities În sistemul Android activitățile reprezintă echivalentul ferestrelor din Windows, fiind clase care extind clasa Activity. Spre deosebire de alte sisteme, în Android ecranul este mereu ocupat de o singură fereastră (activitate). Fereastra care apare pe ecran în momentul în care aplicația este pornită este considerată fereastra principală, din ea pornind toate celelalte. Cu o fereastră se poate interacționa prin evenimente. Ciclul de viață pentru o activitate este reprezentat în diagrama de mai jos: Activity life cycle diagram (sursa: android.com) oncreate() Evenimentul se declanșează când activitatea este creată pentru prima dată. Aici se vor inițializa componentele ferestrei. Elementele de pe interfață se fac vizibile apelând setcontentview. Există cazuri în care la pornirea eplicației, aceasta trebuie să revină la o stare anterioară (ex: dupa o oprire forțată). Astfel, se poate verifica dacă fereastra este una nouă sau nu testând dacă variabila de tip Bundle primită ca parametru este nula sau nu. 1 M. Apetrii

if (savedinstancestate!=null) //fereastra nu este noua si trebuie incarcate anumite date ramase else //fereastra este noua onstart() Evenimentul se declanșează când activitatea devine vizibilă utilizatorului. onresume() Evenimentul se declanșează atunci când utilizatorul începe să interacționeze cu aplicația. onpause() Evenimentul se declanșează atunci când activitatea se pregătește să se oprească. Aici se vor salva informațiile de care este nevoie, se vor opri procesele care nu mai sunt necesare când aplicația nu rulează (ex.: elementele video sau audio). onstop() Evenimentul se declanșează atunci când activitatea nu mai este vizibilă. ondestroy() Evenimentul se declanșează înainte ca activitatea să fie distrusă de sistem. onrestart() Evenimentul se declanșează atunci când activitatea repornește după pornirea acesteia. Gestiunea Starii unei Activitati Unele dintre metodele care gestionează ciclul de viață al unei activități primesc ca parametru un obiect de tip Bundle, utilizat pentru gestiunea stării în cazul în care activitatea este distrusă din lipsă de memorie: oncreate() - parametrul savedinstance poate să fie null, dacă activitatea nu a mai fost rulată anterior, fie este o instanță a unui obiect de tip Bundle în care se găsește starea anterioară (așa cum a fost reținută de metoda onsaveinstancestate()); onsaveinstancestate() - este apelată când activitatea urmează să fie oprita, pentru a salva starea activității; onrestoreinstancestate() - este apelată doar dacă există o stare a activității care ar trebui să fie restaurată. 2 M. Apetrii

(sursa: android.com) Obiectul de tip Bundle este o formă de hash map, în care cheia este întotdeauna de tip String. Starea unei activități este menținută atâta vreme cât ea este activă (chiar dacă au fost apelate metodele onpause() și onstop()). Necesitatea asigurării consistenței activității de către programator apare în momentul în care activitatea este terminată/distrusă și apoi (re)pornită. O astfel de situație este frecventă în cazul în care se produce o schimbare de configurație (ex.: se modifică orientarea dispozitivului) Salvarea Stării Metoda onsaveinstancestate() se apelează înainte de metoda onstop(). Ea primește ca parametru un obiect de tip Bundle în care vor fi plasate datele din cadrul activității care se doresc a fi salvate, acestea putând fi identificate prin intermediul unei chei (de tip String). Apelul metodei onsaveinstancestate() nu este garantat să fie realizat de fiecare dată întrucât pot fi situații în care nu este necesar ca starea activității să fie restaurată (ex.:utilizatorul a terminat activitatea prin apăsarea butonului Back). Exemplu: protected void onsaveinstancestate(bundle savedinstancestate)... savedinstancestate.putstring("username", useredittext.gettext()); De regulă, pentru elementele interfeței grafice, nu este necesar să se mențină starea, acest lucru fiind realizat în mod automat (dacă se rescrie metoda parinte). De aceea, în metoda onsaveinstancestate, va fi realizată salvarea unor informații (obiecte ale clasei) pentru care procesul de salvare a stării nu este apelat. Totuși, asigurarea persistenței datelor se va realiza în metoda onpause()întrucât se garantează apelarea sa, pentru onsaveinstancestate() având garanția că se apelează înainte de metoda onstop(). 3 M. Apetrii

Restaurarea Stării Încărcarea conținutului din obiectul de tip Bundle (în vederea restaurării stării) poate fi realizată: în metoda oncreate() protected void oncreate(bundle savedinstancestate)... EditText useredittext = (EditText)findViewById(R.id.user_edit_text); if ((savedinstancestate!= null) && (savedinstancestate.getstring("username")!= null)) useredittext.settext(savedinstancestate.getstring("username")); prin intermediul metodei onrestoreinstancestate(), apelată în mod automat între metodele onstart() și onresume(); această abordare permite separarea dintre codul folosit la crearea ferestrei și codul utilizat la restaurarea stării unei ferestre. Transmisia datelor între activități Există numeroase variate de transmitere a informațiilor de la o activitate la alta, însă cea mai des folosită este transmiterea de variabile prin Intenții. În activitatea din care se inițiază transferul trebuie definit un intent, în cadrul acestuia putând adăuga variabilele dorite prin metoda putextra. Aceasta primește tipuri de bază, dar și obiecte custom dacă acestea extind Parcelable sau Serializable. public class MainActivity extends AppCompatActivity protected void oncreate(bundle savedinstancestate)... public void oncenterbuttonclick(view view) EditText inputname = (EditText) findviewbyid(r.id.edittext); Intent intent = new Intent(getApplicationContext(), HelloActivity.class); intent.putextra("nume", inputname.gettext().tostring()); startactivity(intent); In noua activitate, extragem datele trimise prin intent astfel: public class HelloActivity extends AppCompatActivity protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.activity_hello); TextView campmesaj = (TextView) findviewbyid(r.id.textview); 4 M. Apetrii

Bundle extras = getintent().getextras(); if (extras!= null) String nume = extras.getstring("nume"); if (nume!= null && nume.length() > 0) campmesaj.settext("salut, " + nume); else campmesaj.settext("salut!"); else campmesaj.settext("salut!"); Pentru un exemplu click aici. 1. Să se realizeze o aplicație în care să se suprascrie urmatoarele funcții de eveniment: oncreate, onrestart, onstart, onresume, onpause, onstop, ondestroy. Se vor afișa mesaje de log de forma: Log.d("TAG_EVENIMENT", "A fost invocata metoda -..."); 2. Să se modifice mesajul din metoda oncreate() astfel încât să se indice dacă activitatea a mai fost lansată în execuție anterior sau nu. 3. Să se observe ce se întâmplă cu evenimentele ferestrelor când: o se primește un apel telefonic o se apasă butonul Home o se ține mult apăsat butonul Home o se apasă butonul de răspundere la convorbire o se apasă butonul de închidere al ecranului 4. Să se adauge un EditText și un CheckBox apoi să se observe ce se întamplă în cazurile de mai sus (inclusiv cu opțiunea de dezactivare pentru salvarea stării, sau cu salvarea stării utilizând putstring și putboolean, fără a modifica funcția oncreate și/sau onrestoreinstancestate). 5. Să se creeze o aplicație în care făcând click pe un buton, numele trecut într-un EditText să fie transmis la o nouă activitate în care se va afișa textul Salut, + numele transmis. 5 M. Apetrii