Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
|
laboratoare:laborator11 [2016/04/25 18:03] Andrei Roșu-Cojocaru created |
laboratoare:laborator11 [2017/02/20 20:55] (current) |
||
|---|---|---|---|
| Line 28: | Line 28: | ||
| * **o aplicație Android** rulând pe un dispozitiv mobil cu un sistem de operare Android având o versiune mai mare de 2.2, pe care este instalat Google Play Services. | * **o aplicație Android** rulând pe un dispozitiv mobil cu un sistem de operare Android având o versiune mai mare de 2.2, pe care este instalat Google Play Services. | ||
| - | {{ :laboratoare:laborator08:arhitectura_google_cloud_messaging.png?nolink&700 }} | + | {{ :laboratoare:laborator11:arhitectura_google_cloud_messaging.png?nolink&700 }} |
| De regulă, procesul de proiectare și dezvoltare a sistemului informatic implică următorul flux de lucru: | De regulă, procesul de proiectare și dezvoltare a sistemului informatic implică următorul flux de lucru: | ||
| Line 64: | Line 64: | ||
| * În situația în care nu a fost creat un proiect Google API anterior, se va afișa o fereastră prin care se poate realiza acest lucru, accesându-se opțiunea //Create Project...//: | * În situația în care nu a fost creat un proiect Google API anterior, se va afișa o fereastră prin care se poate realiza acest lucru, accesându-se opțiunea //Create Project...//: | ||
| - | {{ :laboratoare:laborator08:start_using_google_apis_console.png?nolink }} | + | {{ :laboratoare:laborator11:start_using_google_apis_console.png?nolink }} |
| * Ulterior, vor trebui acceptate [[https://console.developers.google.com/tos?id=UDS|termenii și condițiile utilizării Google API]]: | * Ulterior, vor trebui acceptate [[https://console.developers.google.com/tos?id=UDS|termenii și condițiile utilizării Google API]]: | ||
| - | {{ :laboratoare:laborator08:terms_of_service.png?nolink }} | + | {{ :laboratoare:laborator11:terms_of_service.png?nolink }} |
| * Se identifică **numărul de proiect** care va fi utilizat de dispozitivul mobil pentru a se înregistra la serverul Google Cloud Messaging for Android (''SENDER_ID''), acesta putând fi preluat din: | * Se identifică **numărul de proiect** care va fi utilizat de dispozitivul mobil pentru a se înregistra la serverul Google Cloud Messaging for Android (''SENDER_ID''), acesta putând fi preluat din: | ||
| - | * bara de adrese a aplicației de navigare {{ :laboratoare:laborator08:project_number01.png?nolink }} | + | * bara de adrese a aplicației de navigare {{ :laboratoare:laborator11:project_number01.png?nolink }} |
| - | * secțiunea //Overview// a consolei Google API {{ :laboratoare:laborator08:project_number02.png?nolink&1000 }} | + | * secțiunea //Overview// a consolei Google API {{ :laboratoare:laborator11:project_number02.png?nolink&1000 }} |
| * Se activează API-ul //Cloud Messaging for Android// din secțiunea //Mobile APIs//, ce poate fi accesată din //APIs & auth// → //APIs// a consolei Google API. | * Se activează API-ul //Cloud Messaging for Android// din secțiunea //Mobile APIs//, ce poate fi accesată din //APIs & auth// → //APIs// a consolei Google API. | ||
| - | {{ :laboratoare:laborator08:enable_google_cloud_messaging_for_android01.png?nolink&400 }} | + | {{ :laboratoare:laborator11:enable_google_cloud_messaging_for_android01.png?nolink&400 }} |
| * Ulterior, vor putea fi vizualizate statistici cu privire la gradul de utilizare al acestui serviciu (număr de cereri realizate, distribuția codurilor de răspuns), precum și informații legate de monetizare. | * Ulterior, vor putea fi vizualizate statistici cu privire la gradul de utilizare al acestui serviciu (număr de cereri realizate, distribuția codurilor de răspuns), precum și informații legate de monetizare. | ||
| - | {{ :laboratoare:laborator08:enable_google_cloud_messaging_for_android02.png?nolink&400 }} | + | {{ :laboratoare:laborator11:enable_google_cloud_messaging_for_android02.png?nolink&400 }} |
| * În secțiunea //APIs & auth// → //Credentials// se creează o **cheie publică** ce va fi utilizată pentru a transmite notificări de la serverul de aplicații la serverul Google Cloud Messaging for Android. | * În secțiunea //APIs & auth// → //Credentials// se creează o **cheie publică** ce va fi utilizată pentru a transmite notificări de la serverul de aplicații la serverul Google Cloud Messaging for Android. | ||
| - | * Se selectează butonul //Create New Key// din secțiunea //Public API access//. {{ :laboratoare:laborator08:create_new_key.png?nolink }} | + | * Se selectează butonul //Create New Key// din secțiunea //Public API access//. {{ :laboratoare:laborator11:create_new_key.png?nolink }} |
| * Se specifică **proprietățile cheii publice** ce se dorește a fi generată în funcție de aplicația prin intermediul căreia se vor transmite notificări către dispozitivul Android prin intermediul Google Cloud Messaging. | * Se specifică **proprietățile cheii publice** ce se dorește a fi generată în funcție de aplicația prin intermediul căreia se vor transmite notificări către dispozitivul Android prin intermediul Google Cloud Messaging. | ||
| - | * **tipul cheii publice** (variante disponibile: //Server Key//, //Browser Key//, //Android Key//, //iOS Key//) - se va selecta cel mai general tip, //Server Key//. {{ :laboratoare:laborator08:key_types.png?nolink }} | + | * **tipul cheii publice** (variante disponibile: //Server Key//, //Browser Key//, //Android Key//, //iOS Key//) - se va selecta cel mai general tip, //Server Key//. {{ :laboratoare:laborator11:key_types.png?nolink }} |
| - | * **adresele Internet de la care pot fi acceptate solicitări** (câte o adresă Internet pe un rând): acest câmp poate fi lăsat vid, dacă vor fi acceptate cereri de la mai multe aplicații web, disponibile la diferite locații, sau se poate folosi adresa IP ''0.0.0.0/0'', în scop de testare. {{ :laboratoare:laborator08:server_key_allowed_IPs.png?nolink }} | + | * **adresele Internet de la care pot fi acceptate solicitări** (câte o adresă Internet pe un rând): acest câmp poate fi lăsat vid, dacă vor fi acceptate cereri de la mai multe aplicații web, disponibile la diferite locații, sau se poate folosi adresa IP ''0.0.0.0/0'', în scop de testare. {{ :laboratoare:laborator11:server_key_allowed_IPs.png?nolink }} |
| - | * Se identifică valoarea cheii publice care va fi utilizată {{ :laboratoare:laborator08:key_for_server_applications.png?nolink }} | + | * Se identifică valoarea cheii publice care va fi utilizată {{ :laboratoare:laborator11:key_for_server_applications.png?nolink }} |
| ==== Configurare client ==== | ==== Configurare client ==== | ||
| Line 92: | Line 92: | ||
| **2.** Se instalează SDK-ul Google Play Services, necesară autentificării / deautentificării la Google Cloud Messaging for Android din cadrul aplicației instalată pe dispozitivul mobil. | **2.** Se instalează SDK-ul Google Play Services, necesară autentificării / deautentificării la Google Cloud Messaging for Android din cadrul aplicației instalată pe dispozitivul mobil. | ||
| * În Eclipse Luna, se accesează //Android SDK Manager// | * În Eclipse Luna, se accesează //Android SDK Manager// | ||
| - | * din bara de unelte\\ {{ :laboratoare:laborator08:eclipse_toolbar.png?nolink&900 }} | + | * din bara de unelte\\ {{ :laboratoare:laborator11:eclipse_toolbar.png?nolink&900 }} |
| * din meniul principal, //Window// → //Android SDK Manager// | * din meniul principal, //Window// → //Android SDK Manager// | ||
| - | * Se selectează următoarele pachete:\\ {{ :laboratoare:laborator08:android_sdk_manager.png?nolink&600 }} | + | * Se selectează următoarele pachete:\\ {{ :laboratoare:laborator11:android_sdk_manager.png?nolink&600 }} |
| * din secțiunea ''Android 4.1.2 (API 16)'', pachetul ''Google APIs'' | * din secțiunea ''Android 4.1.2 (API 16)'', pachetul ''Google APIs'' | ||
| * din sețiunea //Extras//, pachetul //Google Play Services// | * din sețiunea //Extras//, pachetul //Google Play Services// | ||
| Line 104: | Line 104: | ||
| * **AVD** | * **AVD** | ||
| - | * se creează un dispozitiv virtual pentru care va specifica la secțiunea //Target// valoarea //Google APIs (Google Inc.)//\\ {{ :laboratoare:laborator08:android_virtual_device01.png?nolink&400 }} | + | * se creează un dispozitiv virtual pentru care va specifica la secțiunea //Target// valoarea //Google APIs (Google Inc.)//\\ {{ :laboratoare:laborator11:android_virtual_device01.png?nolink&400 }} |
| - | * se asociază datele unui cont Google (nume de utilizator, parola) din //Settings// → //Accounts//, selectându-se opțiunea //Add account//\\ {{ :laboratoare:laborator08:android_virtual_device02.png?nolink }} | + | * se asociază datele unui cont Google (nume de utilizator, parola) din //Settings// → //Accounts//, selectându-se opțiunea //Add account//\\ {{ :laboratoare:laborator11:android_virtual_device02.png?nolink }} |
| * **Genymotion** - vor trebui instalate manual ''ARM Transalation'' și ''Google Apps for Android'' întrucât suportul pentru acestea nu mai este asigurat începând cu versiunea 2.0 | * **Genymotion** - vor trebui instalate manual ''ARM Transalation'' și ''Google Apps for Android'' întrucât suportul pentru acestea nu mai este asigurat începând cu versiunea 2.0 | ||
| - | * în //Settings// → //ADB// → //ADB Connection Settings// se indică locația unde se găsește instalat SDK-ul de Android\\ {{ :laboratoare:laborator08:genymotion_settings.png?nolink&400 }} | + | * în //Settings// → //ADB// → //ADB Connection Settings// se indică locația unde se găsește instalat SDK-ul de Android\\ {{ :laboratoare:laborator11:genymotion_settings.png?nolink&400 }} |
| * se instalează [[http://pdsd2014.andreirosucojocaru.ro/Genymotion-ARM-Translation_v1.1.zip|ARM Translation 1.1]] printr-o operație de tip drag-and-drop în ecranul principal al emulatorului | * se instalează [[http://pdsd2014.andreirosucojocaru.ro/Genymotion-ARM-Translation_v1.1.zip|ARM Translation 1.1]] printr-o operație de tip drag-and-drop în ecranul principal al emulatorului | ||
| - | * se afișează o fereastră de dialog ce va conține mesajul ''File transfer in progress...''\\ {{ :laboratoare:laborator08:file_transfer_in_progress.png?nolink }} | + | * se afișează o fereastră de dialog ce va conține mesajul ''File transfer in progress...''\\ {{ :laboratoare:laborator11:file_transfer_in_progress.png?nolink }} |
| - | * odată realizat transferul, se afișează o fereastră de dialog prin care utilizatorul este atenționat de faptul că arhiva ar putea corupe dispozitivul virtual, solicitându-i-se acordul pentru a continua instalarea\\ {{ :laboratoare:laborator08:arm_translation_warning.png?nolink }} | + | * odată realizat transferul, se afișează o fereastră de dialog prin care utilizatorul este atenționat de faptul că arhiva ar putea corupe dispozitivul virtual, solicitându-i-se acordul pentru a continua instalarea\\ {{ :laboratoare:laborator11:arm_translation_warning.png?nolink }} |
| - | * odată realizată instalarea, se afișează o fereastră de dialog ce conține rezultatul operației\\ {{ :laboratoare:laborator08:arm_translation_result.png?nolink }} | + | * odată realizată instalarea, se afișează o fereastră de dialog ce conține rezultatul operației\\ {{ :laboratoare:laborator11:arm_translation_result.png?nolink }} |
| - | * se repornește emulatorul prin comanda\\ <code>adb -s 192.168.56.101:5555 reboot</code> (sau ''adb reboot<'' dacă există un sigur dispozitiv conectat la un moment dat) | + | * se repornește emulatorul prin comanda\\ <code>adb -s 192.168.56.101:5555 reboot</code> (sau ''adb reboot'' dacă există un sigur dispozitiv conectat la un moment dat) |
| - | * se instalează ''Google Apps for Android'' corespunzătoare versiunii sistemului de operare existentă pe dispozitivul virtual, printr-o operație de tip drag-and-drop în ecranul principal al emulatorului (sunt parcurse aceleași etape ca anterior)\\ {{ :laboratoare:laborator08:google_play_services_warning.png?nolink }} \\ {{ :laboratoare:laborator08:google_play_services_result.png?nolink }} | + | * se instalează ''Google Apps for Android'' corespunzătoare versiunii sistemului de operare existentă pe dispozitivul virtual, printr-o operație de tip drag-and-drop în ecranul principal al emulatorului (sunt parcurse aceleași etape ca anterior)\\ {{ :laboratoare:laborator11:google_play_services_warning.png?nolink }} \\ {{ :laboratoare:laborator11:google_play_services_result.png?nolink }} |
| * [[http://pdsd2014.andreirosucojocaru.ro/gapps-kk-20140105-signed.zip|Google Apps for Android 4.4]] | * [[http://pdsd2014.andreirosucojocaru.ro/gapps-kk-20140105-signed.zip|Google Apps for Android 4.4]] | ||
| * [[http://pdsd2014.andreirosucojocaru.ro/gapps-jb-20130813-signed.zip|Google Apps for Android 4.3]] | * [[http://pdsd2014.andreirosucojocaru.ro/gapps-jb-20130813-signed.zip|Google Apps for Android 4.3]] | ||
| Line 119: | Line 119: | ||
| * [[http://pdsd2014.andreirosucojocaru.ro/gapps-jb-20121011-signed.zip|Google Apps for Android 4.1]] | * [[http://pdsd2014.andreirosucojocaru.ro/gapps-jb-20121011-signed.zip|Google Apps for Android 4.1]] | ||
| * indiferent de rezultat, se repornește emulatorul prin comanda\\ <code>adb -s 192.168.56.101:5555 reboot</code> (respectiv ''adb reboot'') | * indiferent de rezultat, se repornește emulatorul prin comanda\\ <code>adb -s 192.168.56.101:5555 reboot</code> (respectiv ''adb reboot'') | ||
| - | * se asociază datele unui cont Google (nume de utilizator, parola) din //Settings// → //Accounts//, selectându-se opțiunea //Add account//\\ {{ :laboratoare:laborator08:google_account_setup01.png?nolink&400 }}\\ {{ :laboratoare:laborator08:google_account_setup02.png?nolink&400 }}\\ {{ :laboratoare:laborator08:google_account_setup03.png?nolink&400 }}\\ {{ :laboratoare:laborator08:google_account_setup04.png?nolink&400 }}\\ {{ :laboratoare:laborator08:google_account_setup05.png?nolink&400 }}\\ {{ :laboratoare:laborator08:google_account_setup06.png?nolink&400 }}\\ {{ :laboratoare:laborator08:google_account_setup07.png?nolink&400 }}\\ {{ :laboratoare:laborator08:google_account_setup08.png?nolink&400 }}\\ {{ :laboratoare:laborator08:google_account_setup09.png?nolink&400 }} | + | * se asociază datele unui cont Google (nume de utilizator, parola) din //Settings// → //Accounts//, selectându-se opțiunea //Add account//\\ {{ :laboratoare:laborator11:google_account_setup01.png?nolink&400 }}\\ {{ :laboratoare:laborator11:google_account_setup02.png?nolink&400 }}\\ {{ :laboratoare:laborator11:google_account_setup03.png?nolink&400 }}\\ {{ :laboratoare:laborator11:google_account_setup04.png?nolink&400 }}\\ {{ :laboratoare:laborator11:google_account_setup05.png?nolink&400 }}\\ {{ :laboratoare:laborator11:google_account_setup06.png?nolink&400 }}\\ {{ :laboratoare:laborator11:google_account_setup07.png?nolink&400 }}\\ {{ :laboratoare:laborator11:google_account_setup08.png?nolink&400 }}\\ {{ :laboratoare:laborator11:google_account_setup09.png?nolink&400 }} |
| - | * se actualizează //Play Store// prin accesarea opțiunii //Settings// de mai multe ori (procesul de actualizare va fi pornit în fundal, în mod automat)\\ {{ :laboratoare:laborator08:google_account_setup10.png?nolink&400 }} | + | * se actualizează //Play Store// prin accesarea opțiunii //Settings// de mai multe ori (procesul de actualizare va fi pornit în fundal, în mod automat)\\ {{ :laboratoare:laborator11:google_account_setup10.png?nolink&400 }} |
| **4.** În situația în care se va folosi un server CCS (XMPP), în prezent, nu mai este necesară o înregistrare suplimentară pentru a se obține acceptul Google de a utiliza serviciul de transmitere a mesajelor de pe dispozitivul mobil. Anterior, o astfel de solicitare trebuia transmisă la [[https://services.google.com/fb/forms/gcm/|Upstream Google Cloud Messaging and User Notifications Sign-up]]. | **4.** În situația în care se va folosi un server CCS (XMPP), în prezent, nu mai este necesară o înregistrare suplimentară pentru a se obține acceptul Google de a utiliza serviciul de transmitere a mesajelor de pe dispozitivul mobil. Anterior, o astfel de solicitare trebuia transmisă la [[https://services.google.com/fb/forms/gcm/|Upstream Google Cloud Messaging and User Notifications Sign-up]]. | ||
| Line 131: | Line 131: | ||
| **6**. Se descarcă cea mai recentă versiune stabilă a mediului de dezvoltare Eclipse IDE for Java EE Developers (Windows: [[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-win32.zip|32-bit]]|[[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-win32-x86_64.zip|64-bit]], Linux: [[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-linux-gtk.tar.gz|32-bit]]|[[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz|64-bit]]) și se integrează cu serverul web Apache Tomcat. | **6**. Se descarcă cea mai recentă versiune stabilă a mediului de dezvoltare Eclipse IDE for Java EE Developers (Windows: [[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-win32.zip|32-bit]]|[[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-win32-x86_64.zip|64-bit]], Linux: [[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-linux-gtk.tar.gz|32-bit]]|[[http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2/eclipse-jee-luna-SR2-linux-gtk-x86_64.tar.gz|64-bit]]) și se integrează cu serverul web Apache Tomcat. | ||
| - | * //Window// → //Preferences// → //Server// → //Runtime Environments// și se accesează butonul //Add...//\\ {{ :laboratoare:laborator08:server_configuration01.png?nolink&500 }} | + | * //Window// → //Preferences// → //Server// → //Runtime Environments// și se accesează butonul //Add...//\\ {{ :laboratoare:laborator11:server_configuration01.png?nolink&500 }} |
| - | * se specifică tipul serverului web (''Apache Tomcat v8.0'')\\ {{ :laboratoare:laborator08:server_configuration02.png?nolink&500 }} | + | * se specifică tipul serverului web (''Apache Tomcat v8.0'')\\ {{ :laboratoare:laborator11:server_configuration02.png?nolink&500 }} |
| - | * se precizează locația la care se găsește serverul web (directorul în care a fost dezarhivat, fără alte configurări) și versiunea de Java Runtime Environment\\ {{ :laboratoare:laborator08:server_configuration03.png?nolink&500 }} | + | * se precizează locația la care se găsește serverul web (directorul în care a fost dezarhivat, fără alte configurări) și versiunea de Java Runtime Environment\\ {{ :laboratoare:laborator11:server_configuration03.png?nolink&500 }} |
| <note tip>Se oferă și posibilitatea descărcării și instalării unei instanțe a serverului web Apache Tomcat, însă de regulă aceasta nu referă cea mai recentă versiune.</note> | <note tip>Se oferă și posibilitatea descărcării și instalării unei instanțe a serverului web Apache Tomcat, însă de regulă aceasta nu referă cea mai recentă versiune.</note> | ||
| - | {{ :laboratoare:laborator08:server_configuration04.png?nolink&500 }} | + | {{ :laboratoare:laborator11:server_configuration04.png?nolink&500 }} |
| - | * //Window// → //Show View// → //Other...// → //Servers// → //Server// și se accesează legătura //No servers are available. Click this link to create a new server...// sau click pe butonul drept al mouse-ului în spațiul de lucru //Server// → //New// → //Server//\\ {{ :laboratoare:laborator08:server_configuration05.png?nolink }}\\ {{ :laboratoare:laborator08:server_configuration06.png?nolink&800 }} | + | * //Window// → //Show View// → //Other...// → //Servers// → //Server// și se accesează legătura //No servers are available. Click this link to create a new server...// sau click pe butonul drept al mouse-ului în spațiul de lucru //Server// → //New// → //Server//\\ {{ :laboratoare:laborator11:server_configuration05.png?nolink }}\\ {{ :laboratoare:laborator11:server_configuration06.png?nolink&800 }} |
| - | * se selectează serverul web definit anterior și se accesează butonul //Finish//\\ {{ :laboratoare:laborator08:server_configuration07.png?nolink&500 }} | + | * se selectează serverul web definit anterior și se accesează butonul //Finish//\\ {{ :laboratoare:laborator11:server_configuration07.png?nolink&500 }} |
| - | * se asociază proiectului un server web pe care va rula: click pe butonul drept al mouse-ului pe denumirea proiectului → //Properties// → //Server// și se selectează serverul web definit anterior\\ {{ :laboratoare:laborator08:server_configuration08.png?nolink&500 }} | + | * se asociază proiectului un server web pe care va rula: click pe butonul drept al mouse-ului pe denumirea proiectului → //Properties// → //Server// și se selectează serverul web definit anterior\\ {{ :laboratoare:laborator11:server_configuration08.png?nolink&500 }} |
| * se realizează o referință către biblioteca serverului web, aceasta fiind trecută în classpath: click pe butonul drept al mouse-ului pe denumirea proiectului → //Build Path// → //Add Library// | * se realizează o referință către biblioteca serverului web, aceasta fiind trecută în classpath: click pe butonul drept al mouse-ului pe denumirea proiectului → //Build Path// → //Add Library// | ||
| - | * se alege //Server Runtime//\\ {{ :laboratoare:laborator08:server_configuration09.png?nolink&500 }} | + | * se alege //Server Runtime//\\ {{ :laboratoare:laborator11:server_configuration09.png?nolink&500 }} |
| - | * se indică serverul web definit anterior și se accesează butonul ''Finish''\\ {{ :laboratoare:laborator08:server_configuration10.png?nolink&500 }} | + | * se indică serverul web definit anterior și se accesează butonul ''Finish''\\ {{ :laboratoare:laborator11:server_configuration10.png?nolink&500 }} |
| **7.** Se descarcă și se instalează cea mai recentă versiune stabilă a motorului pentru baze de date MySQL. | **7.** Se descarcă și se instalează cea mai recentă versiune stabilă a motorului pentru baze de date MySQL. | ||
| * Windows: se poate folosi [[https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.7.7.0-rc.msi|MySQL Community Server]]. | * Windows: se poate folosi [[https://dev.mysql.com/get/Downloads/MySQLInstaller/mysql-installer-community-5.7.7.0-rc.msi|MySQL Community Server]]. | ||
| - | * Linux: se poate utiliza comanda <code>student@pdsd2015:~$ sudo apt-get install mysql-server</code> | + | * Linux: se poate utiliza comanda <code>student@eim2016:~$ sudo apt-get install mysql-server</code> |
| <note>Configurarea propriu-zisă nu presupune decât specificarea unei parole de administrare.</note> | <note>Configurarea propriu-zisă nu presupune decât specificarea unei parole de administrare.</note> | ||
| Line 153: | Line 153: | ||
| Pentru gestiunea propriu-zisă a bazelor de date, poate fi utiliza MySQL Workbench [[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-win32.msi|Windows]]|[[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-1ubu1410-amd64.deb|Ubuntu]]|[[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-1.el7.x86_64.rpm|Fedora Core]]|[[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-1.fc21.x86_64.rpm|Red Hat]], [[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-osx-x86_64.dmg|Mac OS X]]. | Pentru gestiunea propriu-zisă a bazelor de date, poate fi utiliza MySQL Workbench [[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-win32.msi|Windows]]|[[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-1ubu1410-amd64.deb|Ubuntu]]|[[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-1.el7.x86_64.rpm|Fedora Core]]|[[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-1.fc21.x86_64.rpm|Red Hat]], [[https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-6.3.3-osx-x86_64.dmg|Mac OS X]]. | ||
| - | De asemenea, se poate accesa consola MySQL folosind comanda <code>student@pdsd2015:~$ mysql -u root -p</code> | + | De asemenea, se poate accesa consola MySQL folosind comanda <code>student@eim2016:~$ mysql -u root -p</code> |
| Va trebui indicată parola, atunci când aceasta este solicitată. | Va trebui indicată parola, atunci când aceasta este solicitată. | ||
| Line 174: | Line 174: | ||
| Se realizează o referință către biblioteca pentru accesarea Google Cloud Messaging care este localizată în ''<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib'' | Se realizează o referință către biblioteca pentru accesarea Google Cloud Messaging care este localizată în ''<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib'' | ||
| - | * se accesează //File// → //Import// → //Android// → //Existing Android Code Into Workspace//\\ {{ :laboratoare:laborator08:google_cloud_messaging_library_import01.png?nolink&500 }} | + | * se accesează //File// → //Import// → //Android// → //Existing Android Code Into Workspace//\\ {{ :laboratoare:laborator11:google_cloud_messaging_library_import01.png?nolink&500 }} |
| - | * se indică locația unde se găsește instalată biblioteca pentru accesarea Google Cloud Messaging, creându-se o copie a acestuia în spațiul de lucru (se bifează opțiunea //Copy projects into workspace//)\\ {{ :laboratoare:laborator08:google_cloud_messaging_library_import02.png?nolink&800 }} | + | * se indică locația unde se găsește instalată biblioteca pentru accesarea Google Cloud Messaging, creându-se o copie a acestuia în spațiul de lucru (se bifează opțiunea //Copy projects into workspace//)\\ {{ :laboratoare:laborator11:google_cloud_messaging_library_import02.png?nolink&800 }} |
| - | * în fereastra corespunzătoare proiectului aferent aplicației Android (click dreapta pe denumirea proiectului în //Package Explorer// → //Properties//), se accesează opțiunea //Android// și se specifică referința către biblioteca respectivă în secțiunea //Library// (accesând butonul //Add//)\\ {{ :laboratoare:laborator08:google_cloud_messaging_library_import03.png?nolink&800 }} | + | * în fereastra corespunzătoare proiectului aferent aplicației Android (click dreapta pe denumirea proiectului în //Package Explorer// → //Properties//), se accesează opțiunea //Android// și se specifică referința către biblioteca respectivă în secțiunea //Library// (accesând butonul //Add//)\\ {{ :laboratoare:laborator11:google_cloud_messaging_library_import03.png?nolink&800 }} |
| ==== Structura Proiectului ==== | ==== Structura Proiectului ==== | ||
| Line 188: | Line 188: | ||
| - (opțional) un **serviciu** (''GoogleCloudMessagingIntentService'') lansat în execuție în momentul în care este livrat mesajul (de către ascultător) în cadrul căruia acesta este procesat propriu-zis; utilizarea unui serviciu este necesară doar în situația în care prelucrarea mesajului se realizează într-un interval de timp mai mare, fiind necesar să se asigure faptul că dispozitivul mobil nu devine inactiv între timp. | - (opțional) un **serviciu** (''GoogleCloudMessagingIntentService'') lansat în execuție în momentul în care este livrat mesajul (de către ascultător) în cadrul căruia acesta este procesat propriu-zis; utilizarea unui serviciu este necesară doar în situația în care prelucrarea mesajului se realizează într-un interval de timp mai mare, fiind necesar să se asigure faptul că dispozitivul mobil nu devine inactiv între timp. | ||
| - | {{ :laboratoare:laborator08:package_explorer.png?nolink&500 }} | + | {{ :laboratoare:laborator11:package_explorer.png?nolink&500 }} |
| === Activitatea GoogleCloudMessagingActivity === | === Activitatea GoogleCloudMessagingActivity === | ||
| Line 447: | Line 447: | ||
| </code> | </code> | ||
| * în fișierul ''AndroidManifest.xml'' se precizează permisiunile necesare pentru ca aplicația să poată utiliza funcționalitățile oferite de Google Cloud Messaging\\ <code xml> | * în fișierul ''AndroidManifest.xml'' se precizează permisiunile necesare pentru ca aplicația să poată utiliza funcționalitățile oferite de Google Cloud Messaging\\ <code xml> | ||
| - | <manifest package="ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging" ...> | + | <manifest package="ro.pub.cs.systems.eim.lab11.googlecloudmessaging" ...> |
| <uses-permission | <uses-permission | ||
| Line 459: | Line 459: | ||
| <permission | <permission | ||
| - | android:name="ro.pub.systems.pdsd.lab08.googlecloudmessaging.permission.C2D_MESSAGE" | + | android:name="ro.pub.systems.eim.lab11.googlecloudmessaging.permission.C2D_MESSAGE" |
| android:protectionLevel="signature" /> | android:protectionLevel="signature" /> | ||
| <uses-permission | <uses-permission | ||
| - | android:name="ro.pub.systems.pdsd.lab08.googlecloudmessaging.permission.C2D_MESSAGE" /> | + | android:name="ro.pub.systems.eim.lab11.googlecloudmessaging.permission.C2D_MESSAGE" /> |
| <application ...> | <application ...> | ||
| Line 469: | Line 469: | ||
| android:value="@integer/google_play_services_version" /> | android:value="@integer/google_play_services_version" /> | ||
| <activity | <activity | ||
| - | android:name="ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.view.GoogleCloudMessagingActivity" | + | android:name="ro.pub.cs.systems.eim.lab11.googlecloudmessaging.view.GoogleCloudMessagingActivity" |
| android:label="@string/app_name" > | android:label="@string/app_name" > | ||
| <intent-filter> | <intent-filter> | ||
| Line 477: | Line 477: | ||
| </activity> | </activity> | ||
| <activity | <activity | ||
| - | android:name="ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.view.NotificationHandlerActivity" | + | android:name="ro.pub.cs.systems.eim.lab11.googlecloudmessaging.view.NotificationHandlerActivity" |
| - | android:parentActivityName="ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.view.GoogleCloudMessagingActivity"> | + | android:parentActivityName="ro.pub.cs.systems.eim.lab11.googlecloudmessaging.view.GoogleCloudMessagingActivity"> |
| <meta-data | <meta-data | ||
| android:name="android.support.PARENT_ACTIVITY" | android:name="android.support.PARENT_ACTIVITY" | ||
| - | android:value="ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.view.GoogleCloudMessagingActivity" /> | + | android:value="ro.pub.cs.systems.eim.lab11.googlecloudmessaging.view.GoogleCloudMessagingActivity" /> |
| </activity> | </activity> | ||
| <receiver | <receiver | ||
| - | android:name="ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.controller.GoogleCloudMessagingBroadcastReceiver" | + | android:name="ro.pub.cs.systems.eim.lab11.googlecloudmessaging.controller.GoogleCloudMessagingBroadcastReceiver" |
| android:permission="com.google.android.c2dm.permission.SEND" > | android:permission="com.google.android.c2dm.permission.SEND" > | ||
| <intent-filter> | <intent-filter> | ||
| <action android:name="com.google.android.c2dm.intent.RECEIVE" /> | <action android:name="com.google.android.c2dm.intent.RECEIVE" /> | ||
| - | <category android:name="ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.controller.GoogleCloudMessagingBroadcastReceiver" /> | + | <category android:name="ro.pub.cs.systems.eim.lab11.googlecloudmessaging.controller.GoogleCloudMessagingBroadcastReceiver" /> |
| </intent-filter> | </intent-filter> | ||
| </receiver> | </receiver> | ||
| - | <service android:name="ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.controller.GoogleCloudMessagingIntentService" /> | + | <service android:name="ro.pub.cs.systems.eim.lab11.googlecloudmessaging.controller.GoogleCloudMessagingIntentService" /> |
| </application> | </application> | ||
| </manifest> | </manifest> | ||
| Line 871: | Line 871: | ||
| * se generează o cheie publică pentru transmiterea de mesaje provenind de la un server, indiferent de adresa Internet la care se găsește acesta. | * se generează o cheie publică pentru transmiterea de mesaje provenind de la un server, indiferent de adresa Internet la care se găsește acesta. | ||
| - | Mai multe detalii pot fi obținute în secțiunea [[:laboratoare:laborator08#configurare|Configurare]]. | + | Mai multe detalii pot fi obținute în secțiunea [[:laboratoare:laborator11#configurare|Configurare]]. |
| <note>În cazul în care nu dispuneți de un cont Google, acesta va trebui creat înainte de a implementa aceste cerințe.</note> | <note>În cazul în care nu dispuneți de un cont Google, acesta va trebui creat înainte de a implementa aceste cerințe.</note> | ||
| Line 879: | Line 879: | ||
| ==== Clientul Android ==== | ==== Clientul Android ==== | ||
| - | **2.** În contul Github personal, să se creeze un depozit denumit 'Laborator08-Client'. Inițial, acesta trebuie să fie gol (nu trebuie să bifați nici adăugarea unui fișier ''README.md'', nici a fișierului ''.gitignore'' sau a a fișierului ''LICENSE''). | + | **2.** În contul Github personal, să se creeze un depozit denumit 'Laborator11-Client'. Inițial, acesta trebuie să fie gol (nu trebuie să bifați nici adăugarea unui fișier ''README.md'', nici a fișierului ''.gitignore'' sau a a fișierului ''LICENSE''). |
| - | **3.** Să se cloneze în directorul de pe discul local conținutul depozitului la distanță de la [[https://www.github.com/pdsd2015/Laborator08-Client|]]. | + | **3.** Să se cloneze în directorul de pe discul local conținutul depozitului la distanță de la [[https://www.github.com/eim2016/Laborator11-Client|]]. |
| - | În urma acestei operații, directorul Laborator08-Client va trebui să se conțină directoarele ''labtasks'' și ''solutions''. | + | În urma acestei operații, directorul Laborator11-Client va trebui să se conțină directoarele ''labtasks'' și ''solutions''. |
| <code> | <code> | ||
| - | student@pdsd2015:~$ git clone https://www.github.com/pdsd2015/Laborator08-Client | + | student@eim2016:~$ git clone https://www.github.com/eim2016/Laborator11-Client |
| </code> | </code> | ||
| - | **4.** Să se încarce conținutul descărcat în cadrul depozitului 'Laborator08-Client' de pe contul Github personal. <code> | + | **4.** Să se încarce conținutul descărcat în cadrul depozitului 'Laborator11-Client' de pe contul Github personal. <code> |
| - | student@pdsd2015:~$ cd Laborator08-Client | + | student@eim2016:~$ cd Laborator11-Client |
| - | student@pdsd2015:~/Laborator08-Client$ git remote add Laborator08-Client_perfectstudent https://github.com/perfectstudent/Laborator08-Client | + | student@eim2016:~/Laborator11-Client$ git remote add Laborator11-Client_perfectstudent https://github.com/perfectstudent/Laborator11-Client |
| - | student@pdsd2015:~/Laborator08-Client$ git push Laborator08-Client_perfectstudent master | + | student@eim2016:~/Laborator11-Client$ git push Laborator11-Client_perfectstudent master |
| </code> | </code> | ||
| - | **5.** Să se importe în mediul integrat de dezvoltare Eclipse Luna SR1a (4.4.1) proiectele ''google-play-service_lib'' și ''GoogleCloudMessagingClient'' din directorul ''labtasks'' (în această ordine). | + | **5.** Să se importe în mediul integrat de dezvoltare preferat (Android Studio sau Eclipse) proiectele ''google-play-service_lib'' și ''GoogleCloudMessagingClient'' din directorul ''labtasks'' (în această ordine). |
| Să se configureaze mașina pe care va rula aplicația: | Să se configureaze mașina pe care va rula aplicația: | ||
| Line 903: | Line 903: | ||
| <note>În situația în care nu se reușește configurarea unui dispozitiv virtual, se poate folosi [[http://pdsd2015.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://pdsd2015.andreirosucojocaru.ro/resources/Genymobile.tar.gz|o imagine Nexus S (API 16)]] care trebuie plasată în directorul ''$HOME''.</note> | ||
| - | Mai multe detalii pot fi obținute în secțiunea [[:laboratoare:laborator08#configurare_client|Configurare client]] | + | Mai multe detalii pot fi obținute în secțiunea [[:laboratoare:laborator11#configurare_client|Configurare client]] |
| - | **6.** În interfața ''ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.general.Constants'', trebuie modificate următoarele valori, __**numai în situația în care se folosește un server web Apache Tomcat**__: | + | **6.** În interfața ''ro.pub.cs.systems.eim.lab11.googlecloudmessaging.general.Constants'', trebuie modificate următoarele valori, __**numai în situația în care se folosește un server web Apache Tomcat**__: |
| * ''PROJECT_NUMBER'' - cu numărul de proiect generat de consola Google API; | * ''PROJECT_NUMBER'' - cu numărul de proiect generat de consola Google API; | ||
| * adresele Internet pentru serviciile care expun funcționalități către dispozitivul mobil: | * adresele Internet pentru serviciile care expun funcționalități către dispozitivul mobil: | ||
| Line 916: | Line 916: | ||
| **7.** Să se ruleze aplicația Android și să se genereze identificatorul de înregistrare, care va fi transmis către serverul de aplicații prin accesarea butonului ''Send Registration ID''. | **7.** Să se ruleze aplicația Android și să se genereze identificatorul de înregistrare, care va fi transmis către serverul de aplicații prin accesarea butonului ''Send Registration ID''. | ||
| - | {{ :laboratoare:laborator08:mobile_device_application01.png?nolink&400 }} | + | {{ :laboratoare:laborator11:mobile_device_application01.png?nolink&400 }} |
| - | {{ :laboratoare:laborator08:mobile_device_application02.png?nolink&400 }} | + | {{ :laboratoare:laborator11:mobile_device_application02.png?nolink&400 }} |
| - | În fragmentul ''UnregisteredFragment'' din pachetul ''ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.view'', pe clasa ascultător asociată butonului, să se transmită o cerere HTTP de tip POST către componenta din serverul de aplicații, responsbilă cu înregistrarea dispozitivelor mobile (disponibilă la ''Constants.DEVICE_REGISTRATION_SERVICE_ADDRESS''). | + | În fragmentul ''UnregisteredFragment'' din pachetul ''ro.pub.cs.systems.eim.lab11.googlecloudmessaging.view'', pe clasa ascultător asociată butonului, să se transmită o cerere HTTP de tip POST către componenta din serverul de aplicații, responsbilă cu înregistrarea dispozitivelor mobile (disponibilă la ''Constants.DEVICE_REGISTRATION_SERVICE_ADDRESS''). |
| Aceasta va conține următorii parametrii: | Aceasta va conține următorii parametrii: | ||
| Line 933: | Line 933: | ||
| **8.** În situația în care înregistrarea a fost realizată cu succes, interfața grafică a aplicației este modificată în sensul în care se dorește afișarea unei liste cu utilizatorii care au fost înregistrați deja, către care se dorește transmiterea unui mesaj de notificare. | **8.** În situația în care înregistrarea a fost realizată cu succes, interfața grafică a aplicației este modificată în sensul în care se dorește afișarea unei liste cu utilizatorii care au fost înregistrați deja, către care se dorește transmiterea unui mesaj de notificare. | ||
| - | {{ :laboratoare:laborator08:mobile_device_application03.png?nolink&400 }} | + | {{ :laboratoare:laborator11:mobile_device_application03.png?nolink&400 }} |
| **a)** Pe firul de execuție ''RegisteredDevicesFetcher'' din fragmentul ''RegisteredFragment'', să se transmită o cerere HTTP de tip GET către către componenta din serverul de aplicații, responsbilă cu furnizarea listei dispozitivelor mobile înregistrate, în format JSON (disponibilă la ''Constants.REGISTERED_DEVICES_SERVICE_ADDRESS''). | **a)** Pe firul de execuție ''RegisteredDevicesFetcher'' din fragmentul ''RegisteredFragment'', să se transmită o cerere HTTP de tip GET către către componenta din serverul de aplicații, responsbilă cu furnizarea listei dispozitivelor mobile înregistrate, în format JSON (disponibilă la ''Constants.REGISTERED_DEVICES_SERVICE_ADDRESS''). | ||
| Line 985: | Line 985: | ||
| **9.** În momentul în care este transmis un mesaj de către expeditor, să se observe notificarea destinatarului și activitatea în care pot fi vizualizați parametrii pachetului furnizat de serverul Google Cloud Messaging. | **9.** În momentul în care este transmis un mesaj de către expeditor, să se observe notificarea destinatarului și activitatea în care pot fi vizualizați parametrii pachetului furnizat de serverul Google Cloud Messaging. | ||
| - | {{ :laboratoare:laborator08:mobile_device_application04.png?nolink&400 }} | + | {{ :laboratoare:laborator11:mobile_device_application04.png?nolink&400 }} |
| - | **10.** Să se încarce modificările realizate în cadrul depozitului 'Laborator08-Client' de pe contul Github personal, folosind un mesaj sugestiv. <code> | + | **10.** Să se încarce modificările realizate în cadrul depozitului 'Laborator11-Client' de pe contul Github personal, folosind un mesaj sugestiv. <code> |
| - | student@pdsd2015:~/Laborator08-Client$ git add * | + | student@eim2016:~/Laborator11-Client$ git add * |
| - | student@pdsd2015:~/Laborator08-Client$ git commit -m "implemented taks for laboratory 08-Client" | + | student@eim2016:~/Laborator11-Client$ git commit -m "implemented taks for laboratory 11-Client" |
| - | student@pdsd2015:~/Laborator08-Client$ git push Laborator08-Client_perfectstudent master | + | student@eim2016:~/Laborator11-Client$ git push Laborator11-Client_perfectstudent master |
| </code> | </code> | ||
| ==== Serverul de Aplicații (Opțional) ==== | ==== Serverul de Aplicații (Opțional) ==== | ||
| - | <note tip>Informații referitoare la configurarea serverului de aplicații pot fi obținute la [[:laboratoare:laborator08#configurare_server_optional|Configurare Server]].</note> | + | <note tip>Informații referitoare la configurarea serverului de aplicații pot fi obținute la [[:laboratoare:laborator11#configurare_server_optional|Configurare Server]].</note> |
| Funcționalitatea corespunzătoare serverului de aplicații este disponibilă în două variante: | Funcționalitatea corespunzătoare serverului de aplicații este disponibilă în două variante: | ||
| Line 1006: | Line 1006: | ||
| * transmiterea unui mesaj sub forma unui notificări către un dispozitiv mobil, prin intermediul serverului Google Cloud Messaging. | * transmiterea unui mesaj sub forma unui notificări către un dispozitiv mobil, prin intermediul serverului Google Cloud Messaging. | ||
| - | **11.** În contul Github personal, să se creeze un depozit denumit 'Laborator08-Server'. Inițial, acesta trebuie să fie gol (nu trebuie să bifați nici adăugarea unui fișier ''README.md'', nici a fișierului ''.gitignore'' sau a a fișierului ''LICENSE''). | + | **11.** În contul Github personal, să se creeze un depozit denumit 'Laborator11-Server'. Inițial, acesta trebuie să fie gol (nu trebuie să bifați nici adăugarea unui fișier ''README.md'', nici a fișierului ''.gitignore'' sau a a fișierului ''LICENSE''). |
| - | **12.** Să se cloneze în directorul de pe discul local conținutul depozitului la distanță de la [[https://www.github.com/pdsd2015/Laborator08-Server|]]. | + | **12.** Să se cloneze în directorul de pe discul local conținutul depozitului la distanță de la [[https://www.github.com/eim2016/Laborator11-Server|]]. |
| - | În urma acestei operații, directorul Laborator08-Server va trebui să se conțină directoarele ''PHP'' și ''ServletsJSP''. | + | În urma acestei operații, directorul Laborator11-Server va trebui să se conțină directoarele ''PHP'' și ''ServletsJSP''. |
| <code> | <code> | ||
| - | student@pdsd2015:~$ git clone https://www.github.com/pdsd2015/Laborator08-Server | + | student@eim2016:~$ git clone https://www.github.com/eim2016/Laborator11-Server |
| </code> | </code> | ||
| - | **13.** Să se încarce conținutul descărcat în cadrul depozitului 'Laborator08-Server' de pe contul Github personal. <code> | + | **13.** Să se încarce conținutul descărcat în cadrul depozitului 'Laborator11-Server' de pe contul Github personal. <code> |
| - | student@pdsd2015:~$ cd Laborator08-Server | + | student@eim2016:~$ cd Laborator11-Server |
| - | student@pdsd2015:~/Laborator08-Server$ git remote add Laborator08-Server_perfectstudent https://github.com/perfectstudent/Laborator08-Server | + | student@eim2016:~/Laborator11-Server$ git remote add Laborator11-Server_perfectstudent https://github.com/perfectstudent/Laborator11-Server |
| - | student@pdsd2015:~/Laborator08-Server$ git push Laborator08-Server_perfectstudent master | + | student@eim2016:~/Laborator11-Server$ git push Laborator11-Server_perfectstudent master |
| </code> | </code> | ||
| Line 1042: | Line 1042: | ||
| Rularea acestuia se poate realiza folosind una dintre următoarele variante, presupunând că vă aflați în directorul în care se găsește acest fișier: | Rularea acestuia se poate realiza folosind una dintre următoarele variante, presupunând că vă aflați în directorul în care se găsește acest fișier: | ||
| - <code> | - <code> | ||
| - | student@pdsd2015:~/Laborator08-Server/JSPServlets$ mysql -u root -p <googlecloudmessaging.sql | + | student@eim2016:~/Laborator11-Server/JSPServlets$ mysql -u root -p <googlecloudmessaging.sql |
| </code> | </code> | ||
| - <code> | - <code> | ||
| - | student@pdsd2015:~/Laborator08-Server/JSPServlets$ mysql -u root -p | + | student@eim2016:~/Laborator11-Server/JSPServlets$ mysql -u root -p |
| Enter password: | Enter password: | ||
| </code> | </code> | ||
| Line 1057: | Line 1057: | ||
| **16.** Să se importe proiectul ''GoogleCloudMessagingServer'' în mediul de dezvoltare Eclipse IDE for Java EE Developers. | **16.** Să se importe proiectul ''GoogleCloudMessagingServer'' în mediul de dezvoltare Eclipse IDE for Java EE Developers. | ||
| - | **17.** În interfața ''Constants'' din pachetul ''ro.pub.cs.systems.pdsd.lab08.googlecloudmessaging.general'', trebuie modificate următoarele valori: | + | **17.** În interfața ''Constants'' din pachetul ''ro.pub.cs.systems.eim.lab11.googlecloudmessaging.general'', trebuie modificate următoarele valori: |
| * ''DATABASE_PASSWORD'' - parola de administrare a motorului pentru gestiunea bazei de date MySQL, care a fost introdusă la instalarea acestui produs; | * ''DATABASE_PASSWORD'' - parola de administrare a motorului pentru gestiunea bazei de date MySQL, care a fost introdusă la instalarea acestui produs; | ||
| * ''API_KEY'' - cheia publică de acces a serverului Google Cloud Messaging de către serverul de aplicații, așa cum a fost generată de Consola Google API. | * ''API_KEY'' - cheia publică de acces a serverului Google Cloud Messaging de către serverul de aplicații, așa cum a fost generată de Consola Google API. | ||
| Line 1063: | Line 1063: | ||
| **18.** În acest moment, se poate realiza comunicația client Android ↔ server de aplicații prin intermediul serviciului Google Cloud Messaging: | **18.** În acest moment, se poate realiza comunicația client Android ↔ server de aplicații prin intermediul serviciului Google Cloud Messaging: | ||
| * clientul Android trimite identificatorul de înregistrare către serverul de aplicații; | * clientul Android trimite identificatorul de înregistrare către serverul de aplicații; | ||
| - | * se accesează componenta pentru transmiterea unui mesaj prin intermediul unei notificări în aplicația curentă de navigare (//eng.// browser)\\ {{ pdsd:laboratoare:laborator08:message_push.png?nolink&800 }} | + | * se accesează componenta pentru transmiterea unui mesaj prin intermediul unei notificări în aplicația curentă de navigare (//eng.// browser)\\ {{ pdsd:laboratoare:laborator11:message_push.png?nolink&800 }} |
| * PHP: http://pdsd2015.andreirosucojocaru.ro/exemple/laboratoare/laborator08/googlecloudmessaging/message_push.php; | * PHP: http://pdsd2015.andreirosucojocaru.ro/exemple/laboratoare/laborator08/googlecloudmessaging/message_push.php; | ||
| * JavaServlets / JSP (local): http://192.168.56.1:8080/GoogleCloudMessagingServer/MessagePushServlet. | * JavaServlets / JSP (local): http://192.168.56.1:8080/GoogleCloudMessagingServer/MessagePushServlet. | ||
