Intégrer l'authentification Twitter dans Android avec Parse
17 min
comment ajouter la connexion twitter à votre application android introduction cette section explique comment vous pouvez créer une application avec enregistrement utilisateur en utilisant la connexion twitter et les fonctionnalités principales de parse server https //www back4app com/product/parse server via back4app cela ressemblera à ceci à tout moment, vous pouvez accéder au projet android complet construit avec ce tutoriel sur notre dépôt github https //github com/back4app/android geopoints tutorial prérequis pour compléter ce tutoriel, nous avons besoin de android studio https //developer android com/studio/index html une application créée sur back4app remarque suivez le tutoriel de nouvelle application parse https //www back4app com/docs/get started/new parse app pour apprendre à créer une application parse sur back4app une application android connectée à back4app remarque suivez le tutoriel d'installation du sdk parse https //www back4app com/docs/android/parse android sdk pour créer un projet android studio connecté à back4app un appareil (ou appareil virtuel https //developer android com/studio/run/managing avds html ) fonctionnant sous android 4 1 (jelly bean) ou version ultérieure 1 configuration de twitter pour commencer à utiliser les fonctions de twitter, vous devez allez à site de gestion des applications twitter https //apps twitter com/ , connectez vous avec un compte twitter et cliquez sur \<font color="#2166ae">créer une nouvelle application\</font> remplissez les \<font color="#2166ae">détails de l'application\</font> lorsque vous êtes invité à spécifier \<font color="#2166ae">urls de rappel\</font> , veuillez insérer \<font color="#2166ae">twittersdk //\</font> ceci est obligatoire afin d'activer l'authentification via twitter 3\ cliquez sur le \<font color="#2166ae">contrat de développeur\</font> puis sur \<font color="#2166ae">créer votre application twitter\</font> 4\ ouvrez votre projet android studio, trouvez votre \<font color="#2166ae">build gradle (module app)\</font> et dans la \<font color="#2166ae">dependencies{}\</font> section, ajoutez le code suivant pour installer le sdk parse twitter utils pour android 1 // n'oubliez pas de changer la ligne ci dessous avec la dernière version du sdk parse twitter utils pour android 2 implementation 'com github parse community\ parsetwitterutils android\ latest version here' n'oubliez pas de mettre à jour la version du sdk parse facebook utils pour android à la dernière version vous pouvez découvrir quelle est la dernière version sur le site jitpack https //jitpack io/ , en suivant ces étapes sur le site jitpack, collez \<font color="#2166ae">parse community/parsetwitterutils android\</font> dans la \<font color="#2166ae">git repo url\</font> boîte après cela, cliquez sur le \<font color="#2166ae">rechercher\</font> bouton ensuite, vous devriez voir les versions disponibles du sdk parse twitter utils pour android, comme montré dans l'image suivante 2 liez votre application twitter avec back4app dans votre projet android studio, dans le fichier java appelé \<font color="#2166ae">app\</font> qui étend application que vous avez créé pour initialiser le sdk parse, dans sa \<font color="#2166ae">oncreate\</font> méthode, juste après l'appel à \<font color="#2166ae">parse initialize()\</font> , utilisez le code suivant pour initialiser le sdk utils twitter de parse 1 parsetwitterutils initialize(getstring(r string twitter consumer key), getstring(r string twitter consumer secret)); si vous n'avez pas de \<font color="#2166ae">app java\</font> fichier comme décrit dans cette étape, accédez à la documentation d'installation de parse sdk pour android https //www back4app com/docs/android/parse android sdk et assurez vous d'avoir suivi toutes les étapes nécessaires pour installer correctement le sdk parse si vous n'installez pas correctement le sdk parse, votre connexion facebook avec parse ne fonctionnera pas 2\ allez à \<font color="#2166ae">app\</font> > \<font color="#2166ae">res\</font> > \<font color="#2166ae">values\</font> > \<font color="#2166ae">strings xml\</font> fichier dans le \<font color="#2166ae">strings xml\</font> fichier, ajoutez le code suivant \<! changez les chaînes suivantes selon vos besoins > \<string name="twitter consumer key">collez votre cle consommateur twitter\</string>\<string name="twitter consumer secret">collez votre secret consommateur twitter\</string> 2\ laissez le \<font color="#2166ae">string xml\</font> ouvert et allez sur le site web de back4app, connectez vous et cliquez sur \<font color="#2166ae">mes applications\</font> trouvez votre application et cliquez ensuite sur \<font color="#2166ae">paramètres du serveur\</font> trouvez le bloc “connexion twitter” et cliquez sur \<font color="#2166ae">paramètres\</font> le bloc “connexion twitter” ressemble à ceci 2\ laissez la page de connexion twitter back4app que vous avez visitée ouverte et allez sur le site de gestion des applications twitter https //apps twitter com/ pour trouver votre application et cliquez sur son nom 3\ cliquez sur clés et jetons d'accès, copiez la clé de consommateur (clé api) et le secret de consommateur (secret api) et collez le dans la page de connexion twitter back4app, en remplissant les champs respectifs pour finir, cliquez simplement sur enregistrer la clé de consommateur (clé api) et le secret de consommateur (secret api) ressemblent à ceci 4\ de plus, copiez le \<font color="#2166ae">clé de consommateur (clé api)\</font> et le \<font color="#2166ae">secret de consommateur (secret api)\</font> et collez le dans le \<font color="#2166ae">strings xml\</font> du fichier de votre projet android studio 4 connexion importez dans votre \<font color="#2166ae">loginactivity\</font> 1 import android app alertdialog ; 2 import android app progressdialog ; 3 import android content dialoginterface ; 4 import android content intent ; 5 import android support v7 app appcompatactivity ; 6 import android os bundle ; 7 import android view\ view ; 8 import android util log ; 9 import android widget button ; 10 import android widget toast ; 11 12 import com parse logincallback ; 13 import com parse parseexception ; 14 import com parse twitter parsetwitterutils ; 15 import com parse parseuser ; 16 import com parse savecallback ; 2\ pour implémenter la connexion twitter, utilisez simplement le code ci dessous 1 parsetwitterutils login(loginactivity this, new logincallback() { 2 3 @override 4 public void done(final parseuser user, parseexception err) { 5 if (err != null) { 6 dlg dismiss(); 7 parseuser logout(); 8 log e("err", "err", err); 9 } 10 if (user == null) { 11 dlg dismiss(); 12 parseuser logout(); 13 toast maketext(loginactivity this, "the user cancelled the twitter login ", toast length long) show(); 14 log d("myapp", "uh oh the user cancelled the twitter login "); 15 } else if (user isnew()) { 16 dlg dismiss(); 17 toast maketext(loginactivity this, "user signed up and logged in through twitter ", toast length long) show(); 18 log d("myapp", "user signed up and logged in through twitter!"); 19 user setusername(parsetwitterutils gettwitter() getscreenname()); 20 user saveinbackground(new savecallback() { 21 @override 22 public void done(parseexception e) { 23 if (null == e) { 24 alertdisplayer("first tome login!", "welcome!"); 25 } else { 26 parseuser logout(); 27 toast maketext(loginactivity this, "it was not possible to save your username ", toast length long) show(); 28 } 29 } 30 }); 31 } else { 32 dlg dismiss(); 33 toast maketext(loginactivity this, "user logged in through twitter ", toast length long) show(); 34 log d("myapp", "user logged in through twitter!"); 35 alertdisplayer("oh, you!","welcome back!"); 36 } 37 } 38 }); dans le projet d'exemple, ce code est placé à l'intérieur d'un \<font color="#2166ae">connexion via twitter\</font> rappel de bouton 3\ il est intéressant d'ajouter une méthode pour afficher des alert dialogs et rendre le processus plus professionnel la méthode ci dessous fait cela 1 private void alertdisplayer(string title,string message){ 2 alertdialog builder builder = new alertdialog builder(loginactivity this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok", new dialoginterface onclicklistener() { 6 @override 7 public void onclick(dialoginterface dialog, int which) { 8 dialog cancel(); 9 // don't forget to change the line below with the names of your activities 10 intent intent = new intent(loginactivity this, logoutactivity class); 11 intent addflags(intent flag activity clear task | intent flag activity new task); 12 startactivity(intent); 13 } 14 }); 15 alertdialog ok = builder create(); 16 ok show(); 17 } 5 se déconnecter importez dans votre \<font color="#2166ae">loginactivity\</font> 1 import android app alertdialog ; 2 import android app progressdialog ; 3 import android content dialoginterface ; 4 import android content intent ; 5 import android support v7 app appcompatactivity ; 6 import android os bundle ; 7 import android view\ view ; 8 import android widget button ; 9 10 import com parse parseuser ; 2\ pour implémenter la déconnexion de twitter, utilisez simplement le code ci dessous 1 parseuser logout (); 2 alertdisplayer ( "donc, vous partez " , "d'accord au revoir alors" ); dans le projet d'exemple, ce code est placé à l'intérieur d'un \<font color="#2166ae">déconnexion via twitter\</font> callback de bouton la méthode \<font color="#2166ae">alertdisplayer\</font> est la même que celle que vous avez ajoutée dans le \<font color="#2166ae">loginactivity\</font> , n'oubliez pas de changer les \<font color="#2166ae">intent\</font> arguments dans le fichier strings xml de votre projet android studio c'est fait ! à ce stade, vous pouvez vous connecter, vous inscrire et vous déconnecter de votre application avec twitter en utilisant les fonctionnalités de base de parse server via back4app !