Adăugarea de oportunități sociale

Întrebările examinate în această oră:

• Adăugați suport pentru funcția de a invita prieteni;

• afișarea punctelor marcate de prieteni;

ÎMBUNĂTĂȚIREA APLICĂRII CU OPORTUNITATEA







În ultimele câteva ore, aplicația "Been There, Done That!" A obținut un aspect complet complet. Cu toate acestea, jocul în mod autonom este destul de plictisitor. În mod ideal, utilizatorii doresc să împărtășească rezultatele și impresiile lor cu alte persoane. Aplicațiile care oferă anumite oportunități de interacțiune între utilizatori sunt mult mai probabil să devină populare și se vor răspândi foarte repede, garantând astfel succes creatorilor lor.

• Cum va proteja aplicația mea datele sensibile ale utilizatorilor (și prietenilor lor)? Ce recomandări voi urma pentru a determina ce aplicația (și compania mea) pot și nu pot face cu datele confidențiale ale utilizatorilor?

Menținerea relației de bază între jucători

ADĂUGAREA SUPORTULUI DE PRIETENI LA ​​APP

3. Fiecare dintre jucători poate vedea acum punctele marcate de un alt jucător,

pe fila Scoruri de prieteni din ecranul cu rezultatele jocului.

Versiunea completă a codului considerată în această oră este disponibilă pe discul atașat la această carte.

Adăugarea abilității de a vă invita prietenii pe ecran cu setări

• Adăugați un buton în ecranul de setări, când faceți clic pe el, se deschide o nouă casetă de dialog.

• Adăugați implementarea unor operații de rețea asociate cu transferul la cererea serverului de aplicații pentru a adăuga utilizatorul în cercul de prieteni.

ACTUALIZARE DE MARCĂ CU SETĂRI

DESCHIDEREA UNEI FERESTRE A DIALOGULUI INTENȚIONAT PENTRU ADĂUGAREA UTILIZATORULUI CĂTRE O PRIETENIE A PRIETENILOR

Buton addFriend = (buton) findViewById (R.id.Button Friend Email); addFriend.setOnClickListener (noul View.OnClickListener () Trebuie să actualizați metoda de clasificare a clasei ()

QuizSettingsActivitate pentru a adăuga o declarație de caz pentru acest dialog nou:

final Vezi prietenDialogLayout = layoutInflater.inflate (R.layout.friend_entry, (ViewGroup) findViewById (R.id.root));

noul AlertDialog.Builder (acest lucru); prietenDialogBuilder.setView (prietenDialogLayout); final TextView emailText = (TextView)

android.R.string.ok, noul DialogInterface.OnClickListener ()

public void onClick (dialog DialogInterface, int care)

String prietenEmail = emailText.getText (). ToString (); dacă (friendEmail! = null prietenEmail.length ()> 0)

Adăugarea de oportunități sociale

Fig. 17.3. Caseta de dialog pentru adăugarea unui utilizator unui cerc de prieteni

CREAREA CLASEI ASYNCASK DESTINATE

PENTRU TRANSMITEREA CERERILOR PENTRU ADĂUGAREA UTILIZATORILOR ÎNTR-UN CIRCUL

Implementarea clasei derivate FriendRequestTask este la fel ca alte clase derivate moștenite din clasa AsyncTask pe care ați lucrat în ultimele ore. (În exemplul următor, pentru simplificarea înțelegerii și a scurtătății, codul care a procesat excepțiile a fost eliminat.) Singurul punct interesant din această nouă sarcină este codul metodei doInBackground (). formularea unei solicitări de adăugare a unui utilizator într-un cerc de prieteni:







boolean protejat doInBackground (String ... params)

getSharedPreferences (GAME_PREFERENCES, Context MODE_PRIVATE); Intreg playerId = prefs.getInt (GAME_PREFERENCES_PLAYER_ID, -1);

vector vars = Vector nou();

vars.add (noul BasicNameValuePair ("comandă", "adăugați"));

vars.add (noul BasicNameValuePair ("playerId", playerId.toString ())); vars.add (noul BasicNameValuePair ("prieten", prietenieEmail)); Clientul HttpClient = nou DefaultHttpClient ();

Solicitare HttpPost = noul HttpPost (TRIVIA_SERVER_FRIEND_EDIT); request.setEntity (noua adresă UrlEncodedFormEntity (vars)); ResponseHandler responseHandler = new BasicResponseHandler ();

String răspunsBody = client.execute (cerere, responseHandler); dacă (responseBody! = null)

Afișarea rezultatelor prietenilor jocului

Acum, că jucătorii pot forma un cerc al prietenilor lor, trebuie să actualizați clasa QuizScoresActivity pentru a popula fila Scoruri de prieteni cu date live de pe serverul de aplicații. Din fericire, în punerea în aplicare a acestei funcționalități, nu este nimic complicat, deoarece sprijinul pentru comunicarea dintre prieteni este în principal realizat de serverul de aplicații. Pentru a obține rezultatele unui joc de prieteni, trebuie doar o interogare ușor modificată la baza de date a serverului de aplicații

În ceea ce privește implementarea, puteți crea o altă instanță a clasei ScoreDownloaderTask pentru a obține aceste rezultate și a le afișa în fila Scoruri de prieteni (Figura 17.4). Când ecranul cu rezultatele jocului utilizează datele live primite de la serverul de aplicații, puteți șterge fișierele de resurse XML de testare și tot codul asociat cu acestea din proiect.

Adăugarea de oportunități sociale

Ris.17.4. Tab-ul Scoruri de prieteni

Extinderea relațiilor dintre jucători

• Serverul de aplicații ar putea trimite o invitație prin e-mail oricărui prieten care nu se află în prezent în baza de date.

• Jucătorii nu trebuie să fie legați de platforma Android. Puteți adăuga cu ușurință alte platforme (site-ul web, iPhone, BlackBertv, etc.). Aceasta înseamnă că prietenii pot interacționa cu același server de aplicații și pot juca între ei pe diferite platforme.

• Relațiile amicale pot fi făcute atât în ​​sens unic, cât și în ambele sensuri (aceasta înseamnă că rezultatele pot fi afișate în listă pentru un jucător sau respectiv pentru fiecare dintre cei doi jucători). Ar fi posibil să se stabilească diferite relații de încredere, permițând jucătorilor să acceseze o varietate de informații despre alți jucători, inclusiv răspunsurile prietenilor la întrebări și locurile alese din lume.

• După stabilirea relațiilor de prietenie, pot fi activate funcții suplimentare de aplicare, inclusiv lupte, mesagerie, notificări ... nu există nici o limită a posibilităților. Utilizați-vă imaginația.

O implementare completă a posibilității de a crea un cerc de prieteni, descrisă în această oră, poate părea neterminată pentru tine și este într-adevăr! Orice aplicație care oferă funcții similare pentru a crea cel puțin un cerc de prieteni ar trebui să permită jucătorului să gestioneze (de exemplu, să vizualizeze sau să șterse) relația sa prietenoasă existentă. Cu toate acestea, punerea în aplicare a acestor îmbunătățiri este lăsată de cititor ca un exercițiu.

• Dezvoltarea unei aplicații care să permită utilizatorului să vizualizeze și să actualizeze blogul personal, fluxul de pe site-ul Twitter și starea pe site-ul Facebook;

• Dezvoltarea unui client full-featured Twitter.

Adăugați suport pentru Facebook

Adăugarea de suport Twitter

Lucrul cu platforma OpenSocial

• prieten (încă un serviciu popular în Asia de Sud-Est);

• hi5 (serviciu popular în Europa și America Centrală și de Sud);

• Hyves (un serviciu popular în Olanda);

• Mail.ru (serviciu popular din Rusia);

• mixi (serviciu popular în Japonia);

• MySpace (un serviciu popular în Statele Unite și în întreaga lume);

• NetLog (un serviciu popular în Europa și Orientul Mijlociu);

• orkut (un serviciu popular în America de Sud și India);

• RenRen (fostă numită Xiaonei, un serviciu popular în rândul studenților chinezi);

• Yahoo! (un serviciu popular în Statele Unite și în întreaga lume);

ÎNTREBĂRI ȘI RĂSPUNSURI

Î: Cum pot alege cel mai bun identificator unic pentru a face distincția între utilizatori?

ÎNTREBĂRI PRACTICE

2. Cum este aplicația "A fost acolo, a făcut asta!" Creați o relație prietenoasă?

A. Permițând jucătorului să caute prieteni în lista de pe serverul de aplicații.

C. Pornirea aplicației pentru a lucra cu contactele și pentru a permite jucătorului să selecteze contactul dorit.







Articole similare

Trimiteți-le prietenilor: