Реализация входа через Twitter в Android с Parse SDK
17 мин
как добавить вход через twitter в ваше android приложение введение в этом разделе объясняется, как вы можете создать приложение с регистрацией пользователей с помощью входа через twitter и основных функций parse server https //www back4app com/product/parse server через back4app это будет выглядеть так в любое время вы можете получить доступ к полному android проекту, созданному с помощью этого руководства, в нашем репозитории github https //github com/back4app/android geopoints tutorial предварительные требования чтобы завершить этот учебник, нам нужно android studio https //developer android com/studio/index html приложение, созданное на back4app примечание следуйте за учебником по новому приложению parse https //www back4app com/docs/get started/new parse app чтобы узнать, как создать приложение parse на back4app android приложение, подключенное к back4app примечание следуйте за учебником по установке parse sdk https //www back4app com/docs/android/parse android sdk чтобы создать проект android studio, подключенный к back4app устройство (или виртуальное устройство https //developer android com/studio/run/managing avds html ) с android 4 1 (jelly bean) или новее 1 настройка twitter чтобы начать использовать функции twitter, вам нужно перейдите на сайт управления приложениями twitter https //apps twitter com/ , войдите с помощью учетной записи twitter и нажмите на \<font color="#2166ae">создать новое приложение\</font> заполните \<font color="#2166ae">детали приложения\</font> когда вас попросят указать \<font color="#2166ae">url адреса обратного вызова\</font> , пожалуйста, вставьте \<font color="#2166ae">twittersdk //\</font> это обязательно для включения аутентификации через twitter 3\ нажмите на \<font color="#2166ae">соглашение разработчика\</font> и затем на \<font color="#2166ae">создать ваше приложение twitter\</font> 4\ откройте свой проект android studio, найдите ваш \<font color="#2166ae">build gradle (module app)\</font> и в разделе \<font color="#2166ae">dependencies{}\</font> добавьте следующий код для установки parse twitter utils sdk для android 1 // не забудьте изменить строку ниже на последнюю версию parse twitter utils sdk для android 2 implementation 'com github parse community\ parsetwitterutils android\ latest version here' не забудьте обновить версию parse facebook utils sdk для android до последней вы можете узнать, какая версия последняя, на сайте jitpack https //jitpack io/ , следуя этим шагам на сайте jitpack вставьте \<font color="#2166ae">parse community/parsetwitterutils android\</font> в поле \<font color="#2166ae">git repo url\</font> после этого нажмите на кнопку \<font color="#2166ae">look up\</font> затем вы должны увидеть доступные версии parse twitter utils sdk для android, как показано на следующем изображении 2 свяжите ваше приложение twitter с back4app в вашем проекте android studio, в java файле под названием \<font color="#2166ae">app\</font> который расширяет application, который вы создали для инициализации parse sdk, в его \<font color="#2166ae">oncreate\</font> методе, сразу после вызова \<font color="#2166ae">parse initialize()\</font> используйте следующий код для инициализации parse twitter utils sdk 1 parsetwitterutils initialize(getstring(r string twitter consumer key), getstring(r string twitter consumer secret)); если у вас нет файла \<font color="#2166ae">app java\</font> как описано в этом шаге, перейдите к установите parse sdk для android https //www back4app com/docs/android/parse android sdk документации и убедитесь, что вы выполнили все шаги, необходимые для правильной установки parse sdk если вы не установите parse sdk правильно, ваш вход через facebook с parse не будет работать 2\ перейдите в \<font color="#2166ae">app\</font> > \<font color="#2166ae">res\</font> > \<font color="#2166ae">values\</font> > \<font color="#2166ae">strings xml\</font> файл в файле \<font color="#2166ae">strings xml\</font> добавьте следующий код \<! измените следующие строки по мере необходимости > \<string name="twitter consumer key">вставьте ваш twitter consumer key\</string>\<string name="twitter consumer secret">вставьте ваш twitter consumer secret\</string> 2\ оставьте файл \<font color="#2166ae">string xml\</font> открытым и перейдите на сайт back4app, войдите в систему и нажмите на \<font color="#2166ae">мои приложения\</font> найдите ваше приложение и затем нажмите на \<font color="#2166ae">настройки сервера\</font> найдите блок “twitter login” и нажмите на \<font color="#2166ae">настройки\</font> блок “twitter login” выглядит так 2\ оставьте открытую страницу back4app twitter login и перейдите на сайт управления приложениями twitter https //apps twitter com/ , найдите ваше приложение и нажмите на его название 3\ нажмите на ключи и токены доступа, скопируйте ключ потребителя (api key) и секрет потребителя (api secret) и вставьте их на странице back4app twitter login, заполнив соответствующие поля чтобы завершить, просто нажмите на сохранить ключ потребителя (api key) и секрет потребителя (api secret) выглядят так 4\ также скопируйте \<font color="#2166ae">ключ потребителя (api key)\</font> и \<font color="#2166ae">секрет потребителя (api secret)\</font> и вставьте это в файл \<font color="#2166ae">strings xml\</font> вашего проекта android studio 4 войти импортируйте в ваш \<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\ чтобы реализовать вход через twitter, просто используйте код ниже 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 }); в примере проекта этот код помещен внутри \<font color="#2166ae">вход через twitter\</font> обработчика кнопки 3\ интересно добавить метод для отображения диалогов предупреждений и сделать процесс более профессиональным метод ниже делает это 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 выйти импортируйте в ваш \<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\ чтобы реализовать выход из twitter, просто используйте код ниже 1 parseuser logout (); 2 alertdisplayer ( "итак, вы уходите " , "хорошо до свидания" ); в примере проекта этот код помещен внутри \<font color="#2166ae">выход из twitter\</font> обработчика кнопки метод \<font color="#2166ae">alertdisplayer\</font> такой же, как вы добавили в \<font color="#2166ae">loginactivity\</font> , просто не забудьте изменить \<font color="#2166ae">intent\</font> аргументы в файле strings xml вашего проекта android studio готово! на этом этапе вы можете войти, зарегистрироваться и выйти из вашего приложения с помощью twitter, используя основные функции parse server через back4app!