Partea 1

3. Desi nu se vede din prima, trebuie sa se duca si in JSONParser ca sa il invete pe getSensors sa stie de meter. De asemenea, daca sunt atenti la detalii, pot sa mai customizeze si partea de grafice ca sa arate ok (valoare maxima 200, zile in loc de ore etc.). Download: restclient-solved.zip

4.I. Cereri catre server se fac doar la crearea unei activitati (asta include si switch intre activitati). Cererea de tip PUT care se face la apasarea unui intrerupator este folosita doar pentru a confirma modificarea setarii pentru acel intrerupator.

4.II. Aplicatia devine unresponsive pentru ca threadul UI se ocupa si de cereri. In contextul in care serverul nu raspunde la cerere, threadul UI este blocat in asteptarea unui raspuns.

4.III. Putem expune sub forma de optiuni atat durata de timp pentru care se doresc valori, cat si frecventa (pentru un senzor de temperatura poate este util sa vedem temperaturi la nivel de ora, dar pentru un contor de gaze poate are sens sa retinem valoarea medie la nivel de zi etc.). In orice caz, avem nevoie de un mecanism mai complex de stocare a datelor, precum o baza de date SQLite.

Partea 2

2. Evident, modificarea nu se propaga si in aplicatia noastra. Cel mai simplu mod de a remedia problema este sa implementam refresh periodic al bazei de date locale, insa trebuie sa avem grija la energia consumata. Implementarea corecta, profesionista, ar folosi push notifications prin C2DM.

3. Nu este evident, insa trebuie sa se duca in ContentProvider, mai exact in SQLiteOpenHelper, sa adauge suport pentru meter in sincronizarea initiala a bazei de date (onLoad). Download: restclientredux-solved.zip

si/lab/2020/android/solutii/interfata_home_automation.txt ยท Last modified: 2021/08/10 18:32 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0