Работа с VKontakte API в андроид

Работа с VKontakte API в приложения за Android ще помогне на вашето приложение за бързо печели популярност и увеличаване на лоялност сред потребителите. Как да се постигне това?

Как да започнете работа с API на Android VKontakte

За да започнете, трябва да се създаде самостоятелен-заявление vk.com на специална страница.

Самостоятелно приложение, което е

В "Настройки", които трябва да въведете нови опции за кандидатстване:

Каква е пръстов отпечатък на сертификата (отпечатък на сертификат)?

ап APK файла, преди да бъде инсталиран на устройството трябва да бъде подписан сертификат разработчик. Дори ако заявлението е все още на етапа на откриване на грешки и се пуска само на емулатора, тя все още е твърде рано да се подпише, преди да го заредите в емулатора. IDE (IDE), като например Eclipse ADT или Android Studio, автоматично подпише заявлението, преди да отворите приложението, с помощта на така наречените отстраняване на грешки сертификат (удостоверение за отстраняване на грешки). Този сертификат е обикновено в домашната директория на потребителя:

/.android/ на Linux,
  • C: \ Documents и Settings \ \ .android \ за Windows XP
  • C: \ Users \ \ .android \ в Windows Vista, Windows 7 и Windows 8






  • Системата за натрупване автоматично ще подпише събира APK, а след това го инсталира на вашето устройство.

    Примерите в тази статия, можете да използвате, за отстраняване на грешки-сертификат.

    За да получите сертификат, пръстов отпечатък, в Shell, изпълнете следната команда:

    Път% HOMEDRIVE% \% HOMEPATH% определя началната папка на потребителя в Windows. Ако използвате друга система, или по някаква причина собствената директория се различава от стандарта (% HOMEDRIVE% \% HOMEPATH%), лесно да се намери къде се намирате debug.keystore файла и укажете пътя до него.

    Имайте предвид, че псевдонима (псевдоним) с помощта на стандартен - androiddebugkey. В съобщение сертификат ще, най-вероятно, различен псевдоним.

    Какво е псевдоним и keystor?

    .keystore файл, създаден от помощната keytool, съдържа запис на двойки от публични и частни ключове. Всяка двойка се идентифицира с уникален псевдоним, или това, което е едно и също нещо - псевдоним.

    Keystor защитава частен ключ парола на всеки индивид. Целостта на keystora също са защитени с парола.

    Когато заявлението се изнася към IDE искания APK които keystor избират. Тогава поканен да избере псевдоним (чифт публично-частен ключ). На следващо място, ще трябва да въведете парола за keystora и псевдоним. След този APK ще бъде подписан с частен ключ и сертификат (заедно с публичния ключ) ще бъде добавен във файла.

    Резултатът от тази команда ще изглежда по следния начин:

    String на SHA1: 06: 37: 20: 6E .... Това е точно пръстов отпечатък сертификат. Това е хеш получен чрез алгоритъм SHA-1.

    Сега трябва да се отстранят на дебелото черво, така че има само една линия на формата 0637206E5E362F02C3C82666AFBFBF7F740403D4. Поставете тази линия в "сертификат пръстов отпечатък за Android»:

    Самостоятелно приложение, което е

    След самостоятелен-приложение се създава и конфигурира, можете да започнете свързването на SDK за вашия Android-приложение.

    Свържете SDK VKontakte към заявлението за Android

    Веднага разочарова потребителите Eclipse. Всички по-нататъшни инструкции ще бъдат дадени за Android Studio. Това IDE е наистина голяма стъпка напред в сравнение с ADT, затова ви препоръчваме да го използвате за всички нови проекти.

    От основните предимства включват:

    Ако не разполагате с проект, можете да създадете нов. Кръстих моя проект VkApiDemo, основния пакет - ru.interosite.vkapidemo. Където се използва в примерите на тези стойности, се използва стойността му.

    Папката на приложението, отворете build.gradle на файла:

    Самостоятелно приложение, което е

    Ако искате да се свържете с SDK, зависимостите, добавете линия «компилация" com.vk: androidsdk: + ' »артефакт (JAR-файл):

    Това означава, че последната налична версия на androidsdk на буркан ще бъде добавено при съставянето на заявлението. С този метод на свързване със сигурност няма да бъде в състояние да трасира SDK код.

    Възможно е да се свържете SDK в изходния код форма. Така ще имате възможност за отстраняване на грешки и самата библиотека и проучване изходния код директно в IDE.

    Изтеглете майстор клон от официалния Git-хранилище.

    Разархивирайте и копирайте vksdk_library папката от архива в главната директория на вашия проект (до папката на приложението):

    Самостоятелно приложение, което е

    Отворете settings.gradle файл в основата на проекта и добави vksdk_library проект като модул:

    Сега, вместо на компилация линия "com.vk: androidsdk: +" в листовката на файл на приложението / build.gradle

    Тъй като обявяване на зависимостта vksdk_library модул на проекта.

    След промените в Gradle IDE файлове направи оферта синхрон със системата за натрупване на проекта:







    Кликнете Синхрон сега. След това, всички класове SDK ще бъдат достъпни за кода за инспектор в IDE.

    Основи VKontakte SDK за Android

    Работа VKontakte SDK се основава на жизнения цикъл на основната дейност на заявлението. В SDK има статичен клас VKUIHelper с набор от следните методи:

    Всички тези методи трябва да бъде поставено под съответния метод за активната жизнен цикъл.

    Освен това, преди да използвате API, вие трябва да се инициализира по метода SDK

    VKSdkListener - абстрактен клас, в които необходимостта да се прилагат три метода:

    • анулира onCaptchaError (VKError captchaError) - неправилно въведени Captcha
    • анулира onTokenExpired (VKAccessToken expiredToken) - знак (сесия ключ) е остаряла
    • нищожен onAccessDenied (VKError authorizationError) - AppID номер на заявлението, който се определя автоматично, когато създавате. Тя трябва да бъде копиран от страницата с настройки на приложението.

    По този начин, в основата на приложението ще изглежда така:

    За да се зареди автоматично последната белегът на постоянното хранилище, а също и проверка на неговата валидност, можете да използвате метод VKSdk.wakeUpSession (). Този метод се препоръчва да се използва винаги, защото той гарантира сесия възстановяване дори след рестартиране на приложението.

    Пример за приложение Използване на API VKontakte

    За да се покаже как да използвате SDK в реалния живот, да се развиват просто приложение, което получава списък с приятели и техните рождени дни.

    Самостоятелно приложение, което е

    Самостоятелно приложение, което е

    След приемането на разрешенията автоматично да поиска списък с приятели. Ако искането е успешно, списък с приятели и техните рождени дни ще бъдат показани в списъка:

    Самостоятелно приложение, което е

    След разработването на основната функционалност, вие също ще се научите как да се приложи на диалог ", за да споделят". Когато кликнете върху който и да е от членовете може да изпрати съобщение за това на страницата си в социалната. мрежа:

    Самостоятелно приложение, което е

    Главен код активност изглежда така:

    Вижте MainAvtivity.java код

    Също така, ще трябва помощник клас Потребителят е за съхранение на данни за потребителя:

    Както можете да видите, ако приложението използва DateTime клас от JodaTime библиотека, която от дълго време е в де факто стандарт за работа с дати в Java. Свържете тази библиотека, можете да използвате тази връзка, за да build.gradle файл:

    Помислете MainActivity код в ред.

    Инициализация, onCreate метод

    След инсталирането на основен метод Вижте setContentView адаптер за списъка:

    метод getView преодоляно. защото трябва да носите датата на раждане на потребителя в правилния формат. Фактът, че VKontakte връща дара на раждане (ако е определен) или «DD.MM.YYYY» формат или като «dd.MM» (без годината). Това е факт и трябва да се вземат под внимание при показване на рожден ден. Ето защо, заедно с датата пазим и формат.

    Освен това, има SDK обезпечаване и опит за възстановяване на предишната сесия:

    разреши метод отнема на произволен брой аргументи, всеки от които се уточнява необходимата способност за прилагане. Сега трябва разрешение само за да получите приятели. В бъдеще ние ще трябва друго решение за функционално диалог "акция".

    метод startLoading извършва искане за списък с приятели.

    Първо, вие се създаде обект VKRequest:

    Такива методи клас VKApi, като приятели (), стенни (), снимки (с), групи (), и т.н. създаване на подходящи обекти за заявки в различни социални елементи. мрежа. Върнати VKApiFriends, VKApiWall, VKApiPhotos са просто удобни опаковки за VKRequest на обекта.

    Например, за да се създаде заявка за даден потребител, можете да се инициализира обекта директно:

    След това трябва да пуснете запитване за да започне изтеглянето на потребителите. За тази цел има метод VKRequest.executeWithListener (VKRequest.VKRequestListener). Тя стартира асинхронен поискване, резултатите от които може да се получи с помощта на VKRequestListener слушател. Всяка от метода на слушател се нарича от основната нишка приложение.

    В нашата молба, заявката се обработва, както следва:

    Всички полезна работа се извършва в метода onComplete. което настъпва, когато искането е успешно. Ето данните се изтеглят от VKResponse на обекта и след това предава на списъка с потребители.

    Невярно parsedModel VKResponse обект включва обект, съответстващ на искането. В нашия случай това VKUsersArray.

    Също така, можете да получите директно от полето JSON обектите обект JSON отговор или просто низ от област responseString. Разбира се, че трябва да направи само в екзотични случаи.

    След попълване на списъка на потребителите даде да се знае адаптер плоча, че данните се обновяват:

    Повечето искания към API се извършват по подобен начин. Вижте изходния код на VKApi на класа, за да видите какви методи са достъпни за различни API обекти.

    Също така, по-пълна методи за документация API можете да разбира се да бъдат намерени на VC.

    Допълнителните функции SDK

    Паралелни (партида) заявки

    SDK ви позволява да стартирате няколко заявки едновременно. За да направите това, използвайте VKBatchRequest обект. Това отнема на произволен брой на заявките обекти и извършва паралелно на различни теми:

    метод VKBatchRequestListener.onComplete се извършва само тогава, когато всички искания са завършени. В този случай тя ще се нарече и VKRequestListener.onComplete () метод на всяко от исканията, когато те са завършени.

    метод VKBatchRequestListener.onError се нарича веднъж в случай, когато някоя от заявките се провали. Тогава цялата задача партида спира.

    Диалог "Споделяне"

    За да се увеличи популярността на заявлението трябва да се даде възможност на потребителите да споделят съдържание. Така че можете да кажете голяма аудитория от кандидатурата си, и потребителят ще бъде в състояние да ни разкажете за вашата активност в приложението.

    В SDK за тази функция е отговорен VKShareDialog клас. В него можете да споделяте съдържание на текст, снимки или други изображения. Можете да добавите линк към всяко съдържание в мрежата (например страница на приложението).

    Трябва да се отбележи, че в този случай е необходимо да се използва библиотеката поддръжка, тъй като VKShareDialog наследена от android.support.v4.app.DialogFragment. вместо android.app.DialogFragment.

    В тази връзка, на дейността следва да се прилага по различен начин. По-специално, той трябва да бъде наследен от FragmentActivity. Списък с потребители вече ще трябва да се покаже с помощта ListFragment.

    Както самообучение упражнения модифициран код приложение за използване на библиотеката поддръжка и с VKShareDialog за поддръжка:

    Преглед на кода с подкрепата VKShareDialog

    XML-маркиране за основната дейност main.xml:

    XML-маркиране за фрагмента:

    Начало Дейност MainActivity.java:

    заключение

    В тази статия, вие научихте как да се свърже с SDK проекта за кандидатстване VKontakte за Android. Ние научат основите на работа с API, и са се развили просто приложение, което взаимодейства с Vkontakte услуги.

    Благодаря ви за четене и имат хубава програма!