Utilizatorii care tocmai au descărcat aplicația pentru Android vor fi mult mai fericiți dacă le veți permite să vă conectați utilizând un serviciu popular de rețele sociale în loc să le cereți să completeze un formular de înregistrare. În acest sfat rapid, veți învăța cum să permiteți utilizatorilor să se conecteze la aplicația dvs. cu conturile lor Twitter.
Pentru a urmări de-a lungul timpului, trebuie să aveți următoarele setări:
Fabric este cadrul Twitter pentru dezvoltarea aplicațiilor mobile. Acesta oferă un set de instrumente care facilitează și simplifică dezvoltarea mobilă. Aceasta include raportarea la impact, distribuția beta, analiza mobilă etc. Dacă încă nu aveți un cont Fabric, va trebui să solicitați o invitație și să așteptați o zi sau două.
Orice aplicație care trebuie să interacționeze cu API-urile Twitter trebuie înregistrată folosind consola Twitter Application Management. Utilizați contul dvs. Twitter pentru a vă conecta.
Faceți clic pe Creați aplicația nouă butonul și completați formularul. Introduceți valori semnificative în Nume și Descriere , deoarece acestea vor fi afișate utilizatorilor aplicației dvs. Nu vom avea nevoie de website și Adresă URL cu invers pentru acest tutorial, dar nu le puteți lăsa goale. Dacă aveți propriul site web, puteți folosi adresa acestuia aici. Dacă nu, poți pur și simplu tasta http://example.com.
Acceptați acordul și trimiteți formularul. Aplicația dvs. este înregistrată acum.
Faceți clic pe Cheile și accesoriile fila și notați-vă Cheia de consum și Secretul consumatorilor. Vom avea nevoie de ei mai târziu.
Conectați-vă la contul Fabric și descărcați pluginul pentru Android Studio.
După terminarea descărcării, porniți aplicația Android Studio și selectați Configurează> Plugin-uri.
Faceți clic pe Instalați pluginul de pe disc și selectați fișierul pe care tocmai l-ați descărcat. Odată instalat, ar trebui să puteți vedea Fabric pentru Android Studio în lista de pluginuri.
Creați un proiect nou (sau deschideți unul existent) și faceți clic pe pictograma Fabric. Conectați-vă la contul Fabric și selectați Stare de nervozitate pentru a instala Kit Twitter pentru proiectul dvs..
Întrucât vom folosi Twitter Kit doar pentru a vă conecta la Twitter, alegeți Conectați-vă cu Twitter în ecranul următor.
În cele din urmă, vi se vor afișa modificările de cod pe care trebuie să le faceți în proiectul dvs. În primul rând, veți vedea schimbările pe care trebuie să le faceți în build.grade fişier. Puteți să copiați și să inserați aceste modificări.
Apoi, când alegeți fila pentru AndroidManifest.xml, veți vedea că sunt necesare două adăugiri:
android.permission.INTERNET
permisiunea trebuie solicitată.meta-date
. Din nou, puteți să copiați și să lipiți codul afișat de plugin.Veți vedea că un nou fișier numit fabric.properties a fost creat în dvs. aplicaţia director. Deschideți fișierul și adăugați la el aceeași cheie API după cum se arată mai jos.
apiKey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341
În acest tutorial, vom crea un simplu Activitate
care afișează un buton de conectare și a TextView
care afișează rezultatul încercării de autentificare.
Creați un nou layout XML numit login_activity.xml în res / aspect director. Adauga o TwitterLoginButton
utilizând următorul fragment de cod:
Apoi, adăugați o TextView
pentru a afișa rezultatele încercării de conectare.
Creați o nouă clasă Java care extinde Activitate
clasa și suprascrie onCreate
metodă. Utilizare setContentView
pentru a utiliza aspectul XML creat în pasul anterior.
Preluați widgeturile definite în XML utilizând findViewById
metodă. Puteți să părăsiți TextView
dar eu o să folosesc setText
metodă și afișare a Şir
asta spune "Stare: Ready".
În acest moment, clasa dvs. ar trebui să aibă următorul cod în ea:
clasa publica LoginActivity extinde Activitatea private TwitterLoginButton loginButton; statutul privat TextView; @Override protejate void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.login_activity); loginButton = (TwitterLoginButton) findViewById (R.id.twitter_login_button); starea = (TextView) findViewById (R.id.status); status.setText ("Stare: Ready");
Când faceți clic din nou pe pictograma pluginului și faceți clic pe fila pentru Începeți Activitatea, veți găsi codul care trebuie adăugat pentru a inițializa Fabric. Copiați și lipiți acel cod în onCreate
înainte de apelul către setContentView
.
TwitterAuthConfig authConfig = noul TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (aceasta, noul Twitter (authConfig));
Plugin-ul generează propriile valori pentru secretul consumatorilor și secretul consumatorului. În timp ce puteți utiliza aceste valori, vom folosi valorile pe care le-am obținut atunci când am înregistrat aplicația noastră în Twitter Managementul aplicațiilor consola mai devreme. Codul de utilizare a acestor valori ar trebui să arate astfel:
privat static final static TWITTER_KEY = "qweYTYiqer5tTeqiq1"; statică finală privată statică TWITTER_SECRET = "wuquUUwy1626661719qw8wwWQHEJQ";
Dacă faceți clic pe butonul de conectare, începe o comandă externă Activitate
care returnează un rezultat. Pentru a capta rezultatul, suprascrieți onActivityResult
metodă a Activitate
și să transmită argumentele primite către onActivityResult
metoda butonului:
@Override protejat void onActivityResult (int requestCode, int resultCode, date intenție) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, date);
Pentru a procesa rezultatul încercării de autentificare, trebuie să creați un personalizat Suna inapoi
. Creați o clasă internă numită LoginHandler care se extinde Suna inapoi
, și suprascrie toate metodele sale abstracte.
Numele metodelor din această clasă sunt foarte intuitive. În cazul unei intrări de succes, succes
se numește metoda. În caz contrar, eșec
se numește metoda.
clasa privată LoginHandler extinde Callback@Override public void success (Rezultat twitterSessionResult) @Override eșecul public void (TwitterException e)
Pentru TwitterLoginButton
pentru a utiliza acest apel personalizat, în onCreate
metodă a Activitate
, treci o instanță de LoginHandler
la butonul lui setCallback
metodă.
loginButton.setCallback (noul LoginHandler ());
În cazul unei încercări de conectare reușite, afișați numele utilizatorului înregistrat și jurnalul de autentificare. Ambele valori sunt disponibile de la date
câmp de Rezultat
. Pentru a obține numele de utilizator al utilizării conectate de utilizator getUsername
. În mod similar, pentru a obține utilizarea jetoanelor auth getAuthToken
. Adăugați următorul cod la succes
metodă:
String output = "Status:" + "Autentificările dvs. au avut succes" + twitterSessionResult.data.getUserName () + "\ nAutonul Token primit:" + twitterSessionResult.data.getAuthToken () token; status.setText (output);
În cazul unei încercări de conectare eșuate, afișați un mesaj care spune "Autentificare esuata". Adăugați următoarele la eșec
metodă:
status.setText ("Status: Login Failed");
Definiți Activitate
tocmai ați creat în manifestarea proiectului dvs. Dacă este prima dvs. aplicație Activitate
, creați un filtru de intenție pentru a răspunde android.intent.action.MAIN
. Adăugați în fișierul dvs. următorul cod:
Aplicația dvs. este acum gata să fie rulată. Când construiți și rulați-o pe dispozitivul dvs. Android, veți fi întâmpinat cu următorul ecran:
Dacă atingeți butonul de conectare, veți fi redirecționat către Twitter. Rețineți că numele și descrierea aplicației specificate în prima etapă a acestui tutorial sunt afișate în această pagină.
Când atingeți Autorizați aplicația , încercarea de conectare este considerată de succes și vi se redirecționează înapoi la aplicația dvs. Veți vedea că TextView
este actualizat pentru a afișa numele de utilizator și jetonul auth.
În acest sfat rapid, ați învățat cum să permiteți utilizatorilor aplicației dvs. să se conecteze utilizând Twitter. De asemenea, ați învățat cum să instalați pluginul Fabric pentru Android Studio și cum să îl utilizați pentru a adăuga Kit Twitter pentru proiectul dvs. Pentru a afla mai multe despre Fabric și Twitter Kit, consultați documentația Kit Kit pentru Android.