Brukere som nettopp har lastet ned Android-appen, kommer til å bli mye lykkeligere hvis du tillater dem å logge inn ved hjelp av en populær nettsamfunnstjeneste i stedet for å be dem om å fylle ut et registreringsskjema. I dette raske tipset skal du lære hvordan du gjør det mulig for brukerne å logge på appen din med Twitter-kontoer.
For å følge med, bør du ha følgende oppsett:
Stoff er Twitters rammeverk for utvikling av mobile applikasjoner. Den gir et sett med verktøy for å gjøre mobilutvikling enklere og mer strømlinjeformet. Det inkluderer krasjrapportering, beta-distribusjon, mobilanalyse osv. Hvis du ikke har en Fabric-konto enda, må du be om en invitasjon og vente på en dag eller to.
Eventuelle apper som må samhandle med Twitters APIer, bør registreres ved hjelp av Twitter Application Management-konsollen. Bruk din Twitter-konto for å logge inn.
Klikk på Opprett ny app knappen, og fyll ut skjemaet. Skriv inn meningsfulle verdier i Navn og Beskrivelse felt, fordi disse vil bli vist til appens brukere. Vi vil ikke trenge nettsted og Tilbakeringingsadresse for denne opplæringen, men du kan ikke la dem stå tomme. Hvis du har ditt eget nettsted, kan du bruke adressen her. Hvis du ikke gjør det, kan du bare skrive inn http://example.com.
Godta avtalen og send skjemaet. Appen din er nå registrert.
Klikk på Taster og tilgangstegn fanen og noter deg din Forbrukernøkkel og Forbrukerhemmelig. Vi trenger dem senere.
Logg inn på Fabric-kontoen din og last ned pluginet for Android Studio.
Når nedlastingen er fullført, start Android Studio og velg Konfigurer> Plugins.
Klikk på Installer plugin fra disk knappen og velg filen du nettopp lastet ned. Når du er installert, bør du kunne se Stoff til Android Studio i listen over plugins.
Opprett et nytt prosjekt (eller åpne en eksisterende) og klikk på Fabric-ikonet. Logg inn på Fabric-kontoen din og velg Twitter å installere Twitter Kit for prosjektet ditt.
Som vi bruker Twitter Kit bare for å logge inn på Twitter, velg Logg inn med Twitter i neste skjermbilde.
Til slutt vil du bli vist koden endringene du må gjøre i prosjektet. Først vil du se de endringene du må gjøre i build.grade fil. Du kan enkelt kopiere og lime inn disse endringene.
Deretter når du velger fanen for AndroidManifest.xml, du vil se at to tillegg må gjøres:
android.permission.INTERNET
Tillatelse må bli forespurt.meta-dataene
. Igjen kan du bare kopiere og lime inn koden vist av plugin.Du vil se at en ny fil som heter fabric.properties har blitt opprettet i din app katalogen. Åpne filen, og legg til samme API-nøkkel til den som vist nedenfor.
apikey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341
I denne opplæringen vil vi skape en veldig enkel Aktivitet
som viser en innloggingsknapp og a TextView
som viser resultatet av påloggingsforsøket.
Opprett et nytt layout XML kalt login_activity.xml i res / layout katalogen. Legg til en TwitterLoginButton
bruker følgende kodestykke:
Deretter legger du til en TextView
for å vise resultatene av påloggingsforsøket.
Opprett en ny Java-klasse som strekker seg Aktivitet
klassen og overstyr den onCreate
metode. Bruk setContentView
å bruke layout XML vi opprettet i forrige trinn.
Hent de widgets som er definert i XML ved hjelp av findViewById
metode. Du kan forlate TextView
tom, men jeg skal bruke setText
metode og vise a string
det sier "Status: Klar".
På dette tidspunktet skal klassen din ha følgende kode i den:
offentlig klasse LoginActivity utvider Aktivitet privat TwitterLoginButton loginButton; privat tekstvisning status; @Override protected void onCreate (Bundle savedInstanceState) super.onCreate (savedInstanceState); setContentView (R.layout.login_activity); loginButton = (TwitterLoginButton) findViewById (R.id.twitter_login_button); status = (TextView) findViewById (R.id.status); status.setText ("Status: Klar");
Når du klikker på plugin-ikonet igjen og klikker på fanen for Start aktivitet, Du finner koden som må legges til for å initialisere stoffet. Kopier og lim inn koden i onCreate
metode, før anropet til setContentView
.
TwitterAuthConfig authConfig = ny TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (dette, ny Twitter (authConfig));
Pluggen genererer egne verdier for forbrukernøkkel og forbrukerhemmelig. Mens du kan bruke disse verdiene, bruker vi verdiene vi fikk da vi registrerte vår søknad i Twitter Application Management konsoll tidligere. Koden for å bruke disse verdiene skal se slik ut:
privat statisk sluttstreng TWITTER_KEY = "qweYTYiqer5tTeqiq1"; privat statisk sluttstreng TWITTER_SECRET = "wuquUUwy1626661719qw8wwWQHEJQ";
Ved å klikke på innloggingsknappen starter en ekstern Aktivitet
som returnerer et resultat. For å fange det resultatet, tilsidesatte onActivityResult
metode av Aktivitet
og pass argumenter mottatt til onActivityResult
metode for knappen:
@Override protected void onActivityResult (int requestCode, int resultCode, Intent data) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, data);
For å behandle resultatet av påloggingsforsøket må du opprette en egendefinert Ring tilbake
. Opprett en intern klasse som heter LoginHandler som strekker seg Ring tilbake
, og overstyr alle sine abstrakte metoder.
Navnene på metodene i denne klassen er veldig intuitive. Ved vellykket innlogging, suksess
Metoden kalles. Ellers er det svikt
Metoden kalles.
Private Class LoginHandler utvider tilbakeringing@Overgå offentlig tomgangssuksess (Resultat twitterSessionResult) @Overgå offentlig tom feil (TwitterException e)
For TwitterLoginButton
for å bruke denne egendefinerte tilbakeringingen, i onCreate
metode av Aktivitet
, passere en forekomst av LoginHandler
til knappens setCallback
metode.
loginButton.setCallback (ny LoginHandler ());
I tilfelle et vellykket påloggingsforsøk, viser navnet på den innloggede brukeren og autentoken. Begge verdiene er tilgjengelige fra data
innen Resultat
. For å få brukernavnet til den innloggede brukeren getUsername
. Tilsvarende, for å få auth token bruk getAuthToken
. Legg til følgende kode i suksess
metode:
String output = "Status:" + "Innloggingen ble vellykket" + twitterSessionResult.data.getUserName () + "\ nAuth Token mottatt:" + twitterSessionResult.data.getAuthToken (). Token; status.setText (output);
I tilfelle et mislyktes påloggingsforsøk, vis en melding som sier "Innlogging feilet". Legg til følgende i svikt
metode:
status.setText ("Status: Pålogging mislyktes");
Definer Aktivitet
du har nettopp opprettet i prosjektets manifest. Hvis det er din app først Aktivitet
, opprett en hensikt filter slik at den reagerer på android.intent.action.MAIN
. Legg til følgende kode i filen din:
Appen din er nå klar til å bli kjørt. Når du bygger og kjører den på Android-enheten din, blir du møtt med følgende skjermbilde:
Hvis du klikker på innloggingsknappen, blir du omdirigert til Twitter. Legg merke til at søknadsnavnet og beskrivelsen du angav i første trinn i denne opplæringen, vises på denne siden.
Når du trykker på Tillat app knappen, blir påloggingsforsøket ansett som vellykket, og du blir omdirigert tilbake til appen din. Du vil se at TextView
er oppdatert for å vise brukernavnet og auth token.
I dette raske tipset har du lært hvordan du aktiverer appens brukere å logge inn ved hjelp av Twitter. Du lærte også hvordan du installerer Fabric plugin for Android Studio og hvordan du bruker den til å legge til Twitter Kit på prosjektet ditt. For å lære mer om Fabric og Twitter Kit, se Twitter Kit for Android dokumentasjon.