Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
laboratoare:laborator10 [2015/05/12 01:07] Andrei Roșu-Cojocaru |
laboratoare:laborator10 [2015/05/12 01:44] (current) Andrei Roșu-Cojocaru |
||
|---|---|---|---|
| Line 373: | Line 373: | ||
| API-ul Android pune la dispoziția utilizatorilor un [[http://developer.android.com/reference/com/google/android/gms/location/FusedLocationProviderApi.html|furnizor integrat de servicii de localizare]], prin care aceștia pot specifica anumiți parametrii de configurare, cum ar fi nivelul de precizie și gradul de utilizare al bateriei. | API-ul Android pune la dispoziția utilizatorilor un [[http://developer.android.com/reference/com/google/android/gms/location/FusedLocationProviderApi.html|furnizor integrat de servicii de localizare]], prin care aceștia pot specifica anumiți parametrii de configurare, cum ar fi nivelul de precizie și gradul de utilizare al bateriei. | ||
| - | Funcționalitatea legată de gestiunea locației curente (ca de altfel toate funcționalitățile legate de biblioteca Google Play Services) este disponibilă prin intermediul unui obiect de tip [[http://developer.android.com/reference/com/google/android/gms/common/api/GoogleApiClient.html|GoogleApiClient]], a cărui instanță este obținută de regulă pe metoda ''onCreate()'' a aplicației Android, eliberarea resurselor corespunzătoare acesteia fiind făcută pe metoda ''onDestroy()'' | + | Funcționalitatea legată de gestiunea locației curente (ca de altfel toate funcționalitățile legate de biblioteca Google Play Services) este disponibilă prin intermediul unui obiect de tip [[http://developer.android.com/reference/com/google/android/gms/common/api/GoogleApiClient.html|GoogleApiClient]], a cărui instanță este obținută de regulă pe metoda ''onCreate()'' a aplicației Android, eliberarea resurselor corespunzătoare acesteia fiind făcută pe metoda ''onDestroy()''. |
| + | |||
| + | {{ :laboratoare:laborator10:clientul_google_api.png?nolink&600 }} | ||
| <code java> | <code java> | ||
| Line 1044: | Line 1046: | ||
| Se dorește să se implementeze o aplicație care să navigheze către o locație specificată prin intermediul coordonatelor GPS (latitudine / longitudine) și pentru care se dorește plasarea unui reper pe hartă, însoțit de o denumire. | Se dorește să se implementeze o aplicație care să navigheze către o locație specificată prin intermediul coordonatelor GPS (latitudine / longitudine) și pentru care se dorește plasarea unui reper pe hartă, însoțit de o denumire. | ||
| + | {{ :laboratoare:laborator10:google_maps_places.png?nolink&400 }} | ||
| + | |||
| + | Reperele vor fi stocate în cadrul unei liste (obiect de tip ''Spinner''), astfel încât la selecția unui element din cadrul acesteia, se va vizualiza obiectivul geografic marcat anterior. | ||
| Se cere să se implementeze funcționalitățile pentru adăugarea unui reper și ștergerea tuturor reperelor de pe hartă: | Se cere să se implementeze funcționalitățile pentru adăugarea unui reper și ștergerea tuturor reperelor de pe hartă: | ||
| Line 1070: | Line 1075: | ||
| Se dorește să se implementeze o aplicație pentru care să se implementeze posibilitatea de actualizare periodică a poziției curente pe hartă, în funcție de starea unui buton, prin care se controlează pornirea / oprirea acestui serviciu. | Se dorește să se implementeze o aplicație pentru care să se implementeze posibilitatea de actualizare periodică a poziției curente pe hartă, în funcție de starea unui buton, prin care se controlează pornirea / oprirea acestui serviciu. | ||
| - | - când serviciul este activat, se vizualizează pe hartă doar locația curentă; | + | - când serviciul este activat, se vizualizează pe hartă doar locația curentă, completându-se în mod automat informații precum latitudinea și longitudinea, actualizându-se corespunzător poziția; |
| - când serviciul este dezactivat, utilizatorul are posibilitatea de a controla poziția care se vizualizează pe hartă. | - când serviciul este dezactivat, utilizatorul are posibilitatea de a controla poziția care se vizualizează pe hartă. | ||
| Line 1081: | Line 1086: | ||
| Se cere să se implementeze metodele pentru pornirea și oprirea serviciului de actualizare periodică a locației de pe hartă: | Se cere să se implementeze metodele pentru pornirea și oprirea serviciului de actualizare periodică a locației de pe hartă: | ||
| - | **a)** metoda ''startLocationUpdates()'' din clasa ''GoogleMapsActivity'' | + | **a)** metoda ''startLocationUpdates()'' din clasa ''GoogleMapsActivity'': |
| - se apelează metoda ''requestLocationUpdates()'' din clasa ''FusedLocationProviderApi'' <code java> | - se apelează metoda ''requestLocationUpdates()'' din clasa ''FusedLocationProviderApi'' <code java> | ||
| LocationServices.FusedLocationApi.requestLocationUpdates( | LocationServices.FusedLocationApi.requestLocationUpdates( | ||
| Line 1129: | Line 1134: | ||
| **9.** Să se importe în mediul integrat de dezvoltare Eclipse Luna SR1a (4.4.1) proiectele ''google-play-service_lib'' și ''04-GoogleMapsGeofencing'' din directorul ''labtasks'' (în această ordine). | **9.** Să se importe în mediul integrat de dezvoltare Eclipse Luna SR1a (4.4.1) proiectele ''google-play-service_lib'' și ''04-GoogleMapsGeofencing'' din directorul ''labtasks'' (în această ordine). | ||
| - | Se dorește să se implementeze o aplicație care să monitorizeze activitatea unui dispozitiv mobil raportat la o zonă de restricție geografică, raportând evenimentele de tip intrare, respectiv ieșire prin intermediul unor notificări. | + | Se dorește să se implementeze o aplicație care să monitorizeze activitatea unui dispozitiv mobil raportat la o zonă de restricție geografică. |
| - | Serviciul referitor la monitorizarea unei anumite locații poate fi activat sau dezactivat, specificându-se de fiecare dată coordonatele zonei față de care sunt realizate modificările. | + | Serviciul referitor la monitorizarea unei anumite locații poate fi activat sau dezactivat, specificându-se de fiecare dată coordonatele zonei față de care sunt realizate comparațiile. |
| Aplicația va afișa pe hartă în permanență locația curentă prin actualizările periodice care sunt transmise. | Aplicația va afișa pe hartă în permanență locația curentă prin actualizările periodice care sunt transmise. | ||
| - | {{:laboratoare:laborator10:google_maps_geofencing_01.png?nolink&400}} | + | {{ :laboratoare:laborator10:google_maps_geofencing_01.png?nolink&400 }} |
| - | {{:laboratoare:laborator10:google_maps_geofencing_02.png?nolink&400}} | + | |
| - | {{:laboratoare:laborator10:google_maps_geofencing_03.png?nolink&400}} | + | Notificările vor fi generate: |
| - | {{:laboratoare:laborator10:google_maps_geofencing_04.png?nolink&400}} | + | |
| - | {{:laboratoare:laborator10:google_maps_geofencing_05.png?nolink&400}} | + | - când utilizatorul intră în zona de restricție geografică\\ \\ {{ :laboratoare:laborator10:google_maps_geofencing_02_03.png?nolink&600 }} |
| - | {{:laboratoare:laborator10:google_maps_geofencing_06.png?nolink&400}} | + | - când utilizatorul iese din zona de restricție geografică\\ \\ {{ :laboratoare:laborator10:google_maps_geofencing_04_05.png?nolink&600 }} |
| + | |||
| + | Detaliile cu privire la evenimentul produs vor putea fi vizualizate în cadrul unei activități dedicate. | ||
| Se cere să se analizeze evenimentul legat de zona de restricție geografică în cadrul serviciului ''GeofenceTrackerIntentService'', pe metoda ''onHandleIntent()''. | Se cere să se analizeze evenimentul legat de zona de restricție geografică în cadrul serviciului ''GeofenceTrackerIntentService'', pe metoda ''onHandleIntent()''. | ||
| Line 1159: | Line 1166: | ||
| List<Geofence> triggeringGeofences = geofencingEvent.getTriggeringGeofences(); | List<Geofence> triggeringGeofences = geofencingEvent.getTriggeringGeofences(); | ||
| </code> | </code> | ||
| - | - se parcurge lista și pentru fiecare obiect se obține identificatorul unic (''gerRequestId()''); | + | - se parcurge lista și pentru fiecare obiect se obține identificatorul unic (''getRequestId()''); |
| - se transmite mesajul explicativ prin intermediul unei notificări (ca parametru al metodei ''sendNotification()''). | - se transmite mesajul explicativ prin intermediul unei notificări (ca parametru al metodei ''sendNotification()''). | ||
