Gli utenti che hanno appena scaricato la tua app per Android saranno molto più felici se permetteranno loro di accedere utilizzando un famoso servizio di social network invece di chiedere loro di compilare un modulo di registrazione. In questo suggerimento rapido, imparerai come abilitare i tuoi utenti ad accedere alla tua app con i loro account Twitter.
Per seguire, dovresti avere la seguente configurazione:
Fabric è la struttura di Twitter per lo sviluppo di applicazioni mobili. Fornisce una serie di strumenti per rendere lo sviluppo mobile più semplice e più snello. Include rapporti sugli arresti anomali, distribuzione beta, analisi dei dispositivi mobili, ecc. Se non si dispone ancora di un account Fabric, è necessario richiedere un invito e attendere un giorno o due.
Tutte le app che devono interagire con le API di Twitter devono essere registrate utilizzando la console di gestione delle applicazioni di Twitter. Usa il tuo account Twitter per accedere.
Clicca sul Crea una nuova app pulsante e compilare il modulo. Immettere valori significativi nel Nome e Descrizione campi, perché questi verranno mostrati agli utenti della tua app. Non avremo bisogno del Sito web e URL di richiamata per questo tutorial, ma non puoi lasciarli vuoti. Se hai il tuo sito web, puoi usare il suo indirizzo qui. Se non lo fai, puoi semplicemente digitare http://example.com.
Accetta l'accordo e invia il modulo. La tua app è ora registrata.
Clicca sul Chiavi e token di accesso scheda e prendi nota del tuo Chiave del consumatore e Segreto dei consumatori. Ne avremo bisogno in seguito.
Accedi al tuo account Fabric e scarica il plug-in per Android Studio.
Una volta completato il download, avvia Android Studio e seleziona Configura> Plugin.
Clicca sul Installa il plug-in dal disco pulsante e selezionare il file appena scaricato. Una volta installato, dovresti essere in grado di vedere Tessuto per Android Studio nella lista dei plugin.
Creare un nuovo progetto (o aprirne uno esistente) e fare clic sull'icona Fabric. Accedi al tuo account Fabric e seleziona cinguettio per installare Twitter Kit per il tuo progetto.
Poiché utilizzeremo Twitter Kit solo per accedere a Twitter, scegli Accedi con Twitter nella schermata successiva.
Infine, ti verranno mostrate le modifiche al codice che devi apportare al tuo progetto. Per prima cosa, vedrai le modifiche che devi apportare nel file build.grade file. Puoi semplicemente copiare e incollare queste modifiche.
Quindi, quando si sceglie la scheda per AndroidManifest.xml, vedrai che due aggiunte devono essere fatte:
android.permission.INTERNET
il permesso deve essere richiesto.meta-dati
. Di nuovo, puoi semplicemente copiare e incollare il codice mostrato dal plugin.Vedrai che un nuovo file chiamato fabric.properties è stato creato nel tuo App directory. Apri il file e aggiungi la stessa chiave API come mostrato di seguito.
apikey = 21212qu6q5izhayqwywqwz1ghyuiopqwq211wqqwq12341
In questo tutorial, creeremo un modo molto semplice Attività
che visualizza un pulsante di accesso e a TextView
che mostra il risultato del tentativo di accesso.
Crea un nuovo XML di layout chiamato login_activity.xml nel res / layout di directory. Aggiungere un TwitterLoginButton
utilizzando il seguente frammento di codice:
Quindi, aggiungere un TextView
per visualizzare i risultati del tentativo di accesso.
Creare una nuova classe Java che estenda il Attività
classe e scavalca il suo onCreate
metodo. Uso setContentView
per usare l'XML di layout che abbiamo creato nel passaggio precedente.
Recupera i widget definiti nell'XML utilizzando findViewById
metodo. Puoi lasciare il TextView
vuoto, ma ho intenzione di usare il setText
metodo e mostra a Stringa
che dice "Stato: pronto".
A questo punto, la classe dovrebbe contenere il seguente codice:
public class LoginActivity estende Activity private TwitterLoginButton loginButton; stato TextView privato; @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 ("Stato: pronto");
Quando fai nuovamente clic sull'icona del plug-in e fai clic sulla scheda per Avvia attività, troverai il codice che deve essere aggiunto per inizializzare Fabric. Copia e incolla il codice nel file onCreate
metodo, prima della chiamata a setContentView
.
TwitterAuthConfig authConfig = new TwitterAuthConfig (TWITTER_KEY, TWITTER_SECRET); Fabric.with (questo, nuovo Twitter (authConfig));
Il plugin genera i propri valori per chiave utente e segreto del consumatore. Mentre puoi usare questi valori, utilizzeremo i valori che abbiamo ottenuto quando abbiamo registrato la nostra applicazione su Twitter Gestione delle candidature console precedente. Il codice per utilizzare questi valori dovrebbe assomigliare a questo:
stringa finale statica privata TWITTER_KEY = "qweYTYiqer5tTeqiq1"; stringa finale statica privata TWITTER_SECRET = "wuquUUwy1626661719qw8wwWQHEJQ";
Facendo clic sul pulsante di accesso inizia un esterno Attività
che restituisce un risultato. Per catturare quel risultato, scavalcare il onActivityResult
metodo del Attività
e passare gli argomenti ricevuti al onActivityResult
metodo del pulsante:
@Override protetto void onActivityResult (int requestCode, int resultCode, Intent data) super.onActivityResult (requestCode, resultCode, data); loginButton.onActivityResult (requestCode, resultCode, data);
Per elaborare il risultato del tentativo di accesso, è necessario creare un'abitudine Richiama
. Crea una classe interna chiamata LoginHandler quello si estende Richiama
, e scavalca tutti i suoi metodi astratti.
I nomi dei metodi di questa classe sono molto intuitivi. In caso di accesso riuscito, il successo
il metodo è chiamato. Altrimenti, il fallimento
il metodo è chiamato.
classe privata LoginHandler estende Callback@Override successo pubblico vuoto (Risultato twitterSessionResult) @Override fallimento pubblico vuoto (TwitterException e)
Per il TwitterLoginButton
utilizzare questo callback personalizzato, nel onCreate
metodo del Attività
, passare un'istanza di LoginHandler
ai pulsanti setCallback
metodo.
loginButton.setCallback (new LoginHandler ());
In caso di un tentativo di accesso riuscito, visualizzare il nome dell'utente connesso e il token auth. Entrambi i valori sono disponibili da dati
campo di Risultato
. Per ottenere il nome utente dell'utente che ha effettuato l'accesso getUsername
. Allo stesso modo, per ottenere l'uso del token auth getAuthToken
. Aggiungi il seguente codice al successo
metodo:
String output = "Status:" + "Il tuo login è andato a buon fine" + twitterSessionResult.data.getUserName () + "\ nAuth Token Received:" + twitterSessionResult.data.getAuthToken (). Token; status.setText (uscita);
In caso di tentativo di accesso fallito, visualizza un messaggio che dice "Accesso fallito". Aggiungi il seguente al fallimento
metodo:
status.setText ("Stato: accesso non riuscito");
Definire il Attività
hai appena creato nel manifest del tuo progetto. Se è la prima della tua app Attività
, crea un filtro intent in modo che risponda a android.intent.action.MAIN
. Aggiungi il seguente codice al tuo file:
La tua app è ora pronta per essere eseguita. Quando lo costruisci e lo esegui sul tuo dispositivo Android, sarai accolto con la seguente schermata:
Se tocchi il pulsante di accesso, verrai reindirizzato su Twitter. Nota che il nome dell'applicazione e la descrizione che hai specificato nella prima fase di questo tutorial sono mostrati in questa pagina.
Quando tocchi il Autorizza app pulsante, il tentativo di accesso è considerato riuscito e si viene reindirizzati alla propria app. Vedrai che il TextView
viene aggiornato per mostrare il nome utente e il token di autenticazione.
In questo suggerimento rapido, hai imparato come abilitare gli utenti della tua app ad accedere utilizzando Twitter. Hai anche imparato come installare il plug-in Fabric per Android Studio e come utilizzarlo per aggiungere Twitter Kit al tuo progetto. Per ulteriori informazioni su Fabric e Twitter Kit, consultare la documentazione di Twitter Kit per Android.