Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
laboratoare:laborator10 [2016/05/13 08:56]
Andrei Roșu-Cojocaru
laboratoare:laborator10 [2016/05/13 09:07]
Andrei Roșu-Cojocaru
Line 105: Line 105:
 Biblioteca pentru accesarea funcționalității oferite de serviciul de localizare se găsește la ''<​android-sdk>/​extras/​google/​google_play_services/​libproject/​google-play-services_lib''​. Biblioteca pentru accesarea funcționalității oferite de serviciul de localizare se găsește la ''<​android-sdk>/​extras/​google/​google_play_services/​libproject/​google-play-services_lib''​.
  
-În mediul integrat de dezvoltare Eclipse ​Luna SR1a (4.4.1), se realizează o referință către biblioteca //Google Play Services//, astfel descărcată.+În mediul integrat de dezvoltare Eclipse, se realizează o referință către biblioteca //Google Play Services//, astfel descărcată.
   * se accesează //File// → //Import// → //Android// → //Existing Android Code Into Workspace//​\\ \\ {{ :​laboratoare:​laborator10:​configurare10.png?​nolink&​500 }}   * se accesează //File// → //Import// → //Android// → //Existing Android Code Into Workspace//​\\ \\ {{ :​laboratoare:​laborator10:​configurare10.png?​nolink&​500 }}
   * se indică locația unde se găsește instalată biblioteca //Google Play Services//, creându-se o copie a acestuia în spațiul de lucru (se bifează opțiunea //Copy projects into workspace//​)\\ \\ {{ :​laboratoare:​laborator10:​configurare11.png?​nolink&​800 }}   * se indică locația unde se găsește instalată biblioteca //Google Play Services//, creându-se o copie a acestuia în spațiul de lucru (se bifează opțiunea //Copy projects into workspace//​)\\ \\ {{ :​laboratoare:​laborator10:​configurare11.png?​nolink&​800 }}
  
-**4.** În mediul integrat de dezvoltare ​Eclipse Luna SR1a (4.4.1), se creează un proiect corespunzător unei aplicații Android, având următoarele proprietăți:​+**4.** În mediul integrat de dezvoltare ​preferat ​(Android Studio sau Eclipse), se creează un proiect corespunzător unei aplicații Android, având următoarele proprietăți:​
  
   * denumirea pachetului care identifică aplicația Android în mod unic trebuie să fie aceeași cu cea precizată în momentul în care a fost generată cheia publică;   * denumirea pachetului care identifică aplicația Android în mod unic trebuie să fie aceeași cu cea precizată în momentul în care a fost generată cheia publică;
  
-  * trebuie să existe o referință către biblioteca //Google Play Services// (click dreapta pe denumirea proiectului în //Package Explorer// → //​Properties//​),​ se accesează opțiunea //Android// și se specifică referința către aceasta respectivă în secțiunea //Library// (accesând butonul //Add//)\\ \\ {{ :​laboratoare:​laborator10:​configurare12.png?​nolink&​800 }}+  * pentru **Android Studio**, trebuie ca în fișierul ''​build.gradle''​ să se specifice dependința către biblioteca Google Play Services (''​com.google.android.gms:​play-services''​),​ în secțiunea ''​dependencies'':​ <file build.gradle>​ 
 +... 
 +dependencies { 
 +  ... 
 +  compile '​com.google.android.gms:​play-services:​8.4.0'​ 
 +
 +</​file>​ 
 + 
 +  * pentru **Eclipse**, ​trebuie să existe o referință către biblioteca //Google Play Services// (click dreapta pe denumirea proiectului în //Package Explorer// → //​Properties//​),​ se accesează opțiunea //Android// și se specifică referința către aceasta respectivă în secțiunea //Library// (accesând butonul //Add//)\\ \\ {{ :​laboratoare:​laborator10:​configurare12.png?​nolink&​800 }}
  
   * în fișierul ''​AndroidManifest.xml''​   * în fișierul ''​AndroidManifest.xml''​
Line 236: Line 244:
 {{ :​laboratoare:​laborator10:​avd_configuration.png?​nolink&​600 }} {{ :​laboratoare:​laborator10:​avd_configuration.png?​nolink&​600 }}
  
-Controlul poziției curente poate fi realizat prin intermediul perspectivei //DDMS// din Eclipse ​Luna SR1a (4.4.1) ​(//Window// → //Open Perspective//​ → //DDMS//), unde, în secțiunea //Emulator Control// → //Location Control// se stabilesc valorile pentru latitudine și longitudine (în panoul //Manual//, în format decimal sau sexagesimal),​ după care se apasă butonul //Send//. Informații cu privire la locațiile disponibile pot fi precizate și sub forma unor fișiere gpx sau kml, care pot fi încărcate.+Controlul poziției curente poate fi realizat prin intermediul perspectivei ​//Android Debug Monitor// din Android Studio sau //DDMS// din Eclipse (//Window// → //Open Perspective//​ → //DDMS//), unde, în secțiunea //Emulator Control// → //Location Control// se stabilesc valorile pentru latitudine și longitudine (în panoul //Manual//, în format decimal sau sexagesimal),​ după care se apasă butonul //Send//. Informații cu privire la locațiile disponibile pot fi precizate și sub forma unor fișiere gpx sau kml, care pot fi încărcate.
  
 {{ :​laboratoare:​laborator10:​avd_emulator_control.png?​nolink&​600 }} {{ :​laboratoare:​laborator10:​avd_emulator_control.png?​nolink&​600 }}
 +
 ===== Gestiunea unei Hărți Google ===== ===== Gestiunea unei Hărți Google =====
  
Line 1052: Line 1061:
 <​note>​În situația în care nu se reușește configurarea unui dispozitiv virtual, se poate folosi [[http://​eim2016.andreirosucojocaru.ro/​resources/​Genymobile.tar.gz|o imagine Nexus S (API 16)]] care trebuie plasată în directorul ''​$HOME''​.</​note>​ <​note>​În situația în care nu se reușește configurarea unui dispozitiv virtual, se poate folosi [[http://​eim2016.andreirosucojocaru.ro/​resources/​Genymobile.tar.gz|o imagine Nexus S (API 16)]] care trebuie plasată în directorul ''​$HOME''​.</​note>​
  
-**6.** Să se importe în mediul integrat de dezvoltare ​Eclipse Luna SR1a (4.4.1) proiectele ''​google-play-service_lib''​ și ''​01-GoogleMapsPlaces''​ din directorul ''​labtasks'' ​(în această ordine).+**6.** Să se importe în mediul integrat de dezvoltare ​preferat ​(Android Studio sau Eclipse) proiectele ''​GoogleMapsPlaces''​ și ''​google-play-service_lib'' ​(doar pentru Eclipse) ​din directorul ''​labtasks''​.
  
 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.
Line 1082: Line 1091:
   - se șterg toate reperele din lista de locații (''​places''​),​ notificându-se și adaptorul corespunzător obiectului de tip ''​Spinner''​ (''​placesAdapter''​) de această modificare, astfel încât acesta să fie actualizat corespunzător.   - se șterg toate reperele din lista de locații (''​places''​),​ notificându-se și adaptorul corespunzător obiectului de tip ''​Spinner''​ (''​placesAdapter''​) de această modificare, astfel încât acesta să fie actualizat corespunzător.
  
-**7.** Să se importe în mediul integrat de dezvoltare ​Eclipse Luna SR1a (4.4.1) proiectele ''​google-play-service_lib''​ și ''​02-GoogleMapsLocationUpdate''​ din directorul ''​labtasks'' ​(în această ordine).+**7.** Să se importe în mediul integrat de dezvoltare ​preferat ​(Android Studio sau Eclipse) proiectele ''​GoogleMapsLocationUpdate''​ și ''​google-play-service_lib'' ​(doar pentru Eclipse) ​din directorul ''​labtasks''​.
  
 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.
Line 1122: Line 1131:
   - se activează controalele grafice ''​latitudeEditText'',​ ''​longitudeEditText'',​ ''​navigateToLocationButton'',​ acestea având un conținut vid.   - se activează controalele grafice ''​latitudeEditText'',​ ''​longitudeEditText'',​ ''​navigateToLocationButton'',​ acestea având un conținut vid.
  
-**8.** Să se importe în mediul integrat de dezvoltare ​Eclipse Luna SR1a (4.4.1) proiectele ''​google-play-service_lib''​ și ''​03-GoogleMapsGeocoding''​ din directorul ''​labtasks'' ​(în această ordine).+**8.** Să se importe în mediul integrat de dezvoltare ​preferat ​(Android Studio sau Eclipse) proiectele ''​GoogleMapsGeocoding''​ și  ''​google-play-service_lib'' ​(doar pentru Eclipse) ​din directorul ''​labtasks''​.
  
 Se dorește să se implementeze o aplicație care să realizeze procesul de codificare geografică inversă: dându-se un set de coordonate GPS, se dorește să se determine adresa poștală corespunzătoare. Se dorește să se implementeze o aplicație care să realizeze procesul de codificare geografică inversă: dându-se un set de coordonate GPS, se dorește să se determine adresa poștală corespunzătoare.
Line 1142: Line 1151:
   - se transmite rezultatul către activitatea principală (se apelează metoda ''​handleResult()''​ cu codul numeric de rezultat (''​Constants.RESULT_SUCCESS'',​ ''​Constants.RESULT_FAILURE''​) și rezultatul obținut, respectiv mesajul de eroare, după caz.   - se transmite rezultatul către activitatea principală (se apelează metoda ''​handleResult()''​ cu codul numeric de rezultat (''​Constants.RESULT_SUCCESS'',​ ''​Constants.RESULT_FAILURE''​) și rezultatul obținut, respectiv mesajul de eroare, după caz.
  
-**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 ​preferat ​(Android Studio sau Eclipse) proiectele ''​GoogleMapsGeofencing''​ și  ''​google-play-service_lib'' ​(doar pentru Eclipse) ​din directorul ''​labtasks''​.
  
 Se dorește să se implementeze o aplicație care să monitorizeze activitatea unui dispozitiv mobil raportat la o zonă de restricție geografică. ​ Se dorește să se implementeze o aplicație care să monitorizeze activitatea unui dispozitiv mobil raportat la o zonă de restricție geografică. ​
Line 1197: Line 1206:
 [[http://​developer.android.com/​reference/​com/​google/​android/​gms/​location/​package-summary.html|Package com.google.android.gms.location]]\\ ​ [[http://​developer.android.com/​reference/​com/​google/​android/​gms/​location/​package-summary.html|Package com.google.android.gms.location]]\\ ​
 [[http://​www.androidhive.info/​2013/​08/​android-working-with-google-maps-v2/​|Android Working with Google Maps v2]]\\ ​ [[http://​www.androidhive.info/​2013/​08/​android-working-with-google-maps-v2/​|Android Working with Google Maps v2]]\\ ​
-[[http://​javapapers.com/​android/​android-get-address-with-street-name-city-for-location-with-geocoding/​|Android Get Address with Street Name, City for Location with Geocoding]]+[[http://​javapapers.com/​android/​android-get-address-with-street-name-city-for-location-with-geocoding/​|Android Get Address with Street Name, City for Location with Geocoding]]\\  
 +[[https://​developers.google.com/​android/​guides/​setup#​add_google_play_services_to_your_project|Setting up Google Play Services in Android Studio]]
laboratoare/laborator10.txt · Last modified: 2016/05/13 09:22 by Andrei Roșu-Cojocaru
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0