Lucrul cu VKontakte api în Android

Lucrul cu VKontakte API în aplicații pentru Android va ajuta aplicația să câștige rapid popularitate și de a crește loialitatea utilizatorilor. Cum de a realiza acest lucru?

Cum de a începe lucrul c API în Android VKontakte

În primul rând avem nevoie pentru a crea un independent aplicației vk.com pe o pagină specială.

aplicație independentă care este

Sub „Setări“, trebuie să introduceți o nouă aplicație opțiuni:

Care este amprenta certificatului (certificat de amprentă)?

app-apk fișier, înainte de a fi instalat pe dispozitiv trebuie să fie semnat certificatul de dezvoltator. Chiar dacă cererea este încă în etapa de depanare și rulează numai pe emulator, este încă prea devreme pentru a fi semnat înainte de a încărca în emulator. IDE (IDE) cum ar fi Eclipse ADT sau Android Studio, semna automat aplicația înainte de a deschide aplicația cu ajutorul așa-numitul debug-certificat (certificat de depanare). Acest certificat este, de obicei, în directorul home al utilizatorului:

/.android/ pe Linux,
  • C: \ Documents and Settings \ \ .android \ pe Windows XP
  • C: \ Users \ \ .android \ în Windows Vista, Windows 7 și Windows 8






  • Sistemul construi va semna automat .apk colectate și apoi se instalează pe dispozitiv.

    Exemplele din acest articol, puteți utiliza debug-certificat.

    Pentru a obține un certificat de amprentă, în Shell, executați următoarea comandă:

    Calea% HOMEDRIVE% \% HOMEPATH% specifică folderul de origine al utilizatorului în Windows. Dacă utilizați un alt sistem, sau pentru un motiv sau altul directorul de origine diferă de standard (% HOMEDRIVE% \% HOMEPATH%), ușor de găsit în cazul în care sunteți debug.keystore fișier și specificați calea către acesta.

    Rețineți că alias (alias), folosind un standard - androiddebugkey. În eliberare a certificatului va fi, cel mai probabil, un alias.

    Ce este un alias și keystor?

    fișier .keystore creat de utilitarul keytool, conține un record de perechi de chei publice și private. Fiecare pereche este identificat printr-un alias unic, sau ceea ce este același lucru - un alias.

    Keystor protejează parola cheii private de fiecare individ. Integritatea keystora, de asemenea, protejată prin parolă.

    În cazul în care cererea este exportată în solicitările dumneavoastră apk IDE care keystor alege. Apoi a invitat să aleagă un alias (o pereche de chei public-privat). În continuare, trebuie să introduceți parole pentru keystora și alias. După acest apk va fi semnat cu o cheie privată și un certificat (împreună cu cheia publică) vor fi adăugate în pachetul .apk.

    Rezultatul acestei comenzi va arata ceva de genul:

    String SHA1: 06: 37: 20: 6E .... Este exact certificatul de amprenta. Este un hash obținut prin algoritmul SHA-1.

    Acum, trebuie să eliminați colon, astfel încât nu a fost doar o linie de forma 0637206E5E362F02C3C82666AFBFBF7F740403D4. Introduceți această linie în „certificat pentru Android amprenta»:

    aplicație independentă care este

    După un independent aplicație este creat și configurat, puteți începe conectarea SDK pentru Android aplicație.

    Conectați SDK VKontakte la cererea pentru Android

    dezamagesc imediat utilizatori Eclipse. Toate instrucțiunile suplimentare vor fi oferite pentru Android Studio. Acest IDE este într-adevăr un mare pas înainte în comparație cu ADT, așa că am recomandăm să-l utilizați pentru toate proiectele noi.

    Dintre principalele avantaje includ:

    Dacă nu aveți un proiect, puteți crea unul nou. Am numit proiectul meu VkApiDemo, pachetul de bază - ru.interosite.vkapidemo. Oriunde utilizat în exemplele acestor valori, utilizați valoarea.

    Dosarul aplicație, deschideți build.gradle fișier:

    aplicație independentă care este

    Dacă doriți să vă conectați la SDK, dependențele, adăugați linia «compilare«com.vk: androidsdk: +»» un artefact (borcan-fișier):

    Aceasta înseamnă că cea mai recentă versiune disponibilă a androidsdk borcan va fi adăugat atunci când compilarea aplicației. Cu această metodă de conexiune cu siguranță nu va fi capabil de a depana cod SDK.

    Este posibil să se conecteze SDK în formă de cod sursă. Deci, va fi capabil să depana biblioteca în sine și de a studia codul sursă direct în IDE.

    Descărcați ramura de master de oficial git-magaziei.

    Dezarhivați și copiați folderul vksdk_library din arhiva la rădăcina proiectului dumneavoastră (de lângă dosarul de aplicație):

    aplicație independentă care este

    Deschideți fișierul settings.gradle în rădăcină de proiect și adăugați proiect vksdk_library ca un modul:

    Acum, în loc de compilare-line 'com.vk: androidsdk: +' în insera fișierul app / build.gradle

    De la anuntarea proiectului modulul de dependență vksdk_library.

    După modificări în fișierele IDE gradle nu oferă sincronizare cu sistemul de proiect construi:







    Faceți clic pe Sincronizare acum. După aceea, toate clasele SDK va fi disponibil la codul de inspector în IDE.

    Bazele VKontakte SDK pentru Android

    Munca VKontakte SDK se bazează pe ciclul de viață al activității principale a aplicației. SDK-ul are o VKUIHelper clasa statică cu următorul set de metode:

    Toate aceste metode trebuie să fie numit în metoda corespunzătoare a ciclului de viață activ.

    Mai mult decât atât, înainte de a utiliza API-ul, trebuie să fie inițializat prin metoda SDK

    VKSdkListener - clasă abstractă, în care necesitatea de a pune în aplicare trei metode:

    • anula onCaptchaError (VKError captchaError) - captcha a fost introdus în mod incorect
    • anula onTokenExpired (VKAccessToken expiredToken) - jeton (cheie de sesiune) este depășită
    • void onAccessDenied (VKError authorizationError) - id CodAplicație cererii care este atribuit în mod automat atunci când creați. Aceasta trebuie să fie copiate din pagina de setări a aplicației.

    Astfel, coloana vertebrală a cererii va arata astfel:

    Pentru a încărca în mod automat ultima jetonul de stocare persistent și să verifice, de asemenea, valabilitatea acestuia, puteți utiliza metoda VKSdk.wakeUpSession (). Această metodă se recomandă să utilizați întotdeauna, deoarece garantează sesiune de recuperare, chiar și după ce reporniți aplicația.

    Exemplu de utilizare Utilizarea API VKontakte

    Pentru a arăta modul de utilizare a SDK în viața reală, pentru a dezvolta o aplicație simplă, care devine o listă de prieteni și zilele lor de naștere.

    aplicație independentă care este

    aplicație independentă care este

    După adoptarea permisiunilor solicita în mod automat o listă de prieteni. În cazul în care cererea este de succes, o listă de prieteni și zilele de naștere lor vor fi afișate în listă:

    aplicație independentă care este

    După dezvoltarea funcționalitatea de bază, veți învăța, de asemenea, modul în care să pună în aplicare un dialog „pentru a partaja“. Când faceți clic pe oricare dintre membrii pot trimite un mesaj în acest sens la pagina dvs. în social. de rețea:

    aplicație independentă care este

    Codul Domeniul principal de activitate arată astfel:

    Cod Vizualizare MainAvtivity.java

    De asemenea, veți avea nevoie de un utilizator de clasă ajutor pentru a stoca date despre utilizator:

    După cum puteți vedea, aplicația utilizează clasa DateTime din biblioteca JodaTime, care a fost mult timp standardul de facto pentru lucrul cu datele din Java. Conectați această bibliotecă, puteți utiliza această relație cu build.gradle fișier:

    Luați în considerare codul MainActivity în ordine.

    Inițializarea, metoda onCreate

    După instalarea metoda principală View setContentView un adaptor pentru lista:

    Metoda getView suprascrisă. deoarece trebuie să aducă data nașterii utilizatorului în formatul corect. Faptul că VKontakte returnează darul nașterii (în cazul în care sunt specificate) sau «zz.ll.aaaa» format, sau ca «dd.MM» (fără an). Acesta este un fapt și ar trebui să fie luate în considerare atunci când se afișează ziua de naștere. Prin urmare, împreună cu data la care am păstra și formatul acestuia.

    Mai mult, există provizionare SDK și încercarea de a restabili sesiunea anterioară:

    autoriza metoda ia un număr arbitrar de argumente, fiecare dintre care specifică rezoluția necesară pentru punerea în aplicare. Acum trebuie doar permisiunea de a obține prieteni. În viitor vom avea nevoie de o altă soluție pentru dialog funcțional „social“.

    Metoda startLoading efectuează o cerere pentru o listă de prieteni.

    În primul rând, creați un VKRequest obiect:

    Astfel de metode de clasă VKApi, cum ar fi prieteni (), perete (), fotografii (), grupuri () etc. a crea obiectele adecvate pentru interogări în diverse elemente sociale. de rețea. VKApiFriends reîntorși, VKApiWall, VKApiPhotos sunt ambalaje doar convenabile pe VKRequest obiect.

    De exemplu, pentru a crea o interogare pentru un utilizator, puteți inițializa obiectul direct:

    Apoi, aveți nevoie pentru a rula o interogare pentru a începe descărcarea de utilizatori. In acest scop VKRequest.executeWithListener (VKRequest.VKRequestListener) metoda. Se lansează o cerere asincron, ale căror rezultate pot fi obținute cu ajutorul VKRequestListener ascultător. Fiecare dintre metoda ascultător este numit de la firul principal al aplicației.

    În cererea noastră, cererea este procesată după cum urmează:

    Toate lucrările utile se face în metoda onComplete. care este cauzat atunci când cererea este de succes. Aici datele sunt preluate din VKResponse obiect și apoi transmis la lista de utilizatori.

    Câmpul parsedModel VKResponse obiect include obiectul care corespunde cererii. În cazul nostru VKUsersArray.

    De asemenea, puteți obține direct din câmpul obiect JSON răspunsul obiect JSON sau pur și simplu un șir de câmp responseString. Desigur, trebuie să facă numai în cazuri exotice.

    După completarea lista de utilizatori dau să știe placa adaptorului că datele sunt actualizate:

    Cele mai multe cereri de la API sunt realizate într-un mod similar. Uită-te la codul sursă al VKApi de clasă, pentru a vedea ce metode sunt disponibile pentru diferite obiecte API.

    De asemenea, un complet metode de documentare API puteți fi găsit, desigur, la VC.

    Caracteristici suplimentare SDK

    Paralele (lot) interogări

    SDK vă permite să ruleze mai multe interogări simultan. Pentru a face acest lucru, utilizați VKBatchRequest obiect. Este nevoie de un număr arbitrar de obiecte de interogare și desfășoară în paralel pe fire diferite:

    Metoda VKBatchRequestListener.onComplete se efectuează numai atunci când toate cererile sunt completate. În acest caz, acesta va fi numit și VKRequestListener.onComplete () metoda de fiecare dintre cererile atunci când acestea sunt finalizate.

    Metoda VKBatchRequestListener.onError se numește o dată în cazul în care oricare dintre interogările eșuează. Apoi, toată sarcina de lot se oprește.

    Dialog „Share“

    Pentru a crește popularitatea aplicației trebuie să permită utilizatorilor să partajeze conținut. Deci, vă pot spune un public mare de cererea dumneavoastră, iar utilizatorul va fi în măsură să ne spună despre activitatea dvs. în cadrul aplicației.

    SDK-ul pentru această caracteristică este responsabil clasa VKShareDialog. În ea puteți partaja conținutul text, fotografii, precum și orice alte imagini. Puteți adăuga un link la orice conținut în rețea (de exemplu, pagina de aplicare).

    Trebuie remarcat faptul că, în acest caz, este necesar să se utilizeze Biblioteca de sprijin, astfel cum VKShareDialog moștenit de la android.support.v4.app.DialogFragment. în loc de android.app.DialogFragment.

    În acest sens, activitatea ar trebui să fie puse în aplicare în mod diferit. În special, acesta trebuie să fie moștenită de la FragmentActivity. Lista de membre vor trebui acum să afișeze folosind ListFragment.

    Ca un cod de aplicație exerciții de auto-studiu modificat folosind Biblioteca de sprijin și cu VKShareDialog suport:

    Vezi cod cu suport VKShareDialog

    xml-markup pentru main.xml principal de activitate:

    xml-markup pentru fragmentul:

    Acasă Activitate MainActivity.java:

    concluzie

    În acest articol, ați învățat cum să se conecteze la SDK proiect aplicație VKontakte pentru Android. Învățăm elementele de bază de lucru cu API, și-au dezvoltat o aplicație simplă, care interacționează cu serviciile Vkontakte.

    Vă mulțumesc pentru lectură și au un program de frumos!