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:11] 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 1078: | Line 1080: | ||
| De asemenea, se dorește să se poată selecta tipul de hartă care să fie afișat. | De asemenea, se dorește să se poată selecta tipul de hartă care să fie afișat. | ||
| + | {{ :laboratoare:laborator10:google_maps_location_update_01.png?nolink&400 }} | ||
| + | |||
| + | {{ :laboratoare:laborator10:google_maps_location_update_02.png?nolink&400 }} | ||
| 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()''). | ||
