Ответ 1
Просто добавьте эту зависимость в файл gradle:
compile 'com.google.apis:google-api-services-youtube:v3-rev181-1.22.0'
и использовать объект YouTube.
ссылка: https://developers.google.com/api-client-library/java/apis/youtube/v3
Итак, я в настоящее время возился с программированием на Android в свободное время, и я использую андроид-студию в качестве своего идеала выбора. В настоящее время я пытаюсь сделать очень простое приложение с помощью apt youtube. Моя проблема в том, что я не могу понять, как получить api в моем приложении. Я использовал файл > структуру проекта, чтобы добавить материал в мое приложение, но это не работает само по себе. Он перестает кричать на меня о синтаксических ошибках, но когда он компилирует его ошибки.
Я исследовал это немного и обнаружил, что мне нужно добавить материал для сборки .gradle или settings.gradle(или обоих), но я не нашел окончательного ответа на то, что именно нужно делать. Все, что я пробовал до сих пор, не работает. Так что, если кто-то может объяснить мне, что мне нужно сделать, или связать меня с местом, где он объяснит, что делать, было бы здорово
- редактировать -
Я так запутался. Я начал новый проект. Я добавил libs и все еще смог скомпилировать. Затем я добавил импорт, и в нем были ошибки. Затем я добавил их в build.gradle и смог отлично компилировать
compile fileTree(dir: 'libs/youtube', include: '*.jar')
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar')
Но когда я добавил этот код, который требует библиотеки
/** Global instance of the HTTP transport. */
private static final HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
/** Global instance of the JSON factory. */
private static final JsonFactory JSON_FACTORY = new JacksonFactory();
/** Global instance of Youtube object to make all API requests. */
private static YouTube youtube;
синтаксис был прекрасен, но при компиляции он выдал ошибку
Gradle: Execution failed for task ':Apitest:dexDebug'.
> Failed to run command:
за которым последовало около 100 строк расположения файлов
Любые идеи относительно того, что я делаю неправильно?
Просто добавьте эту зависимость в файл gradle:
compile 'com.google.apis:google-api-services-youtube:v3-rev181-1.22.0'
и использовать объект YouTube.
ссылка: https://developers.google.com/api-client-library/java/apis/youtube/v3
Шаг 1: Загрузите YoutubeAndroidPlayerApi.jar с https://developers.google.com/youtube/android/player/downloads/
Шаг 2. Вставьте его в папку libs внутри папки приложения проекта.
Шаг 3: Добавьте следующую строку для сборки.gradle в папке приложения проекта:
compile files('libs/YouTubeAndroidPlayerApi.jar')
Шаг 4: Добавьте следующий импорт в действие, которое расширяет YouTubeBaseActivity
и реализует YouTubePlayer.OnInitializedListener
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;
import com.google.android.youtube.player.YouTubePlayer.Provider;
Шаг 5: Метод Inside OnCreate
:
//Make sure you initialize youtube player
YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
youTubeView.initialize(YoutubeAPIKey, this);
Где YouTubeAPIKey
вы получите с консоли Google после регистрации своего проекта в веб-режиме, не выбирайте мобильный домен, такой как Android или любой другой
Шаг 6: Переопределить методы в интерфейсе, реализованные как:
@Override
public void onInitializationFailure(Provider arg0,
YouTubeInitializationResult error) {
// TODO Auto-generated method stub
Toast.makeText(this, "Oh no!
"+error.toString(),Toast.LENGTH_LONG).show();
}
@Override
public void onInitializationSuccess(Provider arg0, YouTubePlayer player,
boolean arg2) {
// TODO Auto-generated method stub
player.loadVideo(VIDEO_ID);
}
Где VIDEO_ID извлекается из запроса RESTful в API Youtube по адресу: " https://www.googleapis.com/youtube/v3/search " с подходящими параметрами, переданными в GET, например, "q, релевантность, язык, тип" и т.д.