2013-08-11 10 views
14

Obecnie zajmuję się programowaniem Android w wolnym czasie i używam androida jako mojego idealnego wyboru. Obecnie próbuję zrobić bardzo prostą aplikację za pomocą api youtube. Moim problemem jest to, że nie mogę się dowiedzieć, jak faktycznie dostać api do mojej aplikacji. Użyłem pliku> struktura projektu, aby dodać rzeczy do mojej aplikacji, ale to nie działa samo. Przestaje krzyczeć na mnie o błędach składni, ale kiedy kompiluje błędy.Dodaj interfejs API danych YouTube do Android Studio

Zbadałem to trochę i stwierdziłem, że muszę dodać rzeczy do build.gradle lub settings.gradle (lub obu), ale nie znalazłem ostatecznej odpowiedzi na dokładnie, co robić. Wszystko, co dotąd próbowałem, nie zadziałało. Więc jeśli ktoś może albo wyjaśnić mi, co mam robić, ani nie odwołuje mnie do miejsca, w którym wyjaśnia, co zrobić, że byłoby świetnie

--edit--

Jestem tak zdezorientowany teraz. Zacząłem nowy projekt. Dodałem biblioteki i wciąż można je skompilować. Dodałem następnie import i wyrzuciłem na ten temat błędy. I dodaje je do build.gradle i był w stanie doskonale skompilować

compile fileTree(dir: 'libs/youtube', include: '*.jar') 
compile fileTree(dir: 'libs/youtube/libs', include: '*.jar') 

Ale kiedy dodałem ten kod, który wymaga biblioteki

/** 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; 

składnia było w porządku, ale wyrzucił błąd na kompilowanie go

Gradle: Execution failed for task ':Apitest:dexDebug'. 
> Failed to run command: 

i że był śledzony przez około 100 wierszy z różnych miejsc plików

Jakieś pomysły dotyczące tego, co robię źle?

+0

To może pomóc http://www.gadgetsaint.com/android/play-youtube-android-youtube-player-api/#.WOtVXPl96Hs – ASP

Odpowiedz

34

Wystarczy dodać tę zależność w Gradle pliku:

compile 'com.google.apis:google-api-services-youtube:v3-rev181-1.22.0' 

i użyć obiektu YouTube.

referencyjny: https://developers.google.com/api-client-library/java/apis/youtube/v3

+0

dziękuję bardzo –

+0

Cóż, pomyślałem, że to zadziałało, ale faktycznie spowodowało, że się zepsuł. To było jednak moje własne. Potrzebuję gracza. nie dane api –

8

Krok 1: Pobierz YoutubeAndroidPlayerApi.jar z https://developers.google.com/youtube/android/player/downloads/

Krok 2: Wklej go w folderze libs wewnątrz aplikacji folderze projektu

Krok 3: Dodaj następujący wiersz do budowania .Gradle w app folderze projektu:

compile files('libs/YouTubeAndroidPlayerApi.jar') 

Krok 4: Dodaj następujący import do aktywności, która rozciąga YouTubeBaseActivity i implementuje 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; 

Krok 5: Inside OnCreate metoda:

//Make sure you initialize youtube player 

YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 

youTubeView.initialize(YoutubeAPIKey, this); 

Gdzie YouTubeAPIKey otrzymasz z konsoli Google po zarejestrowaniu projektu w trybie internetowym, nie wybieraj mobil e domeny jak Androida lub jakichkolwiek

Krok 6: metody zastępowania w interfejsie realizowane jako:

@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); 
} 

przypadku ID_WIDEO jest pobierana z relaksującego wywołania Youtube API w: „https://www.googleapis.com/youtube/v3/search” za pomocą odpowiednich parametrów wprowadzonych w GET jak , "q, relevanceLanguage, type, key" itd.

+0

Dodawanie "kompilacji plików (" libs/... jar ") nie jest konieczne. Domyślnie plik fileTree jest już spełniony –

Powiązane problemy