2013-08-11 7 views
14

पर यूट्यूब डेटा एपीआई जोड़ें, इसलिए, मैं वर्तमान में अपने खाली समय में एंड्रॉइड प्रोग्रामिंग के साथ गड़बड़ कर रहा हूं, और मैं अपनी पसंद के विचार के रूप में एंड्रॉइड स्टूडियो का उपयोग कर रहा हूं। मैं वर्तमान में यूट्यूब एपीआई का उपयोग करके एक बहुत ही सरल ऐप बनाने की कोशिश कर रहा हूं। मेरा मुद्दा यह है कि मैं यह नहीं समझ सकता कि वास्तव में मेरे आवेदन में एपीआई कैसे प्राप्त करें। मैंने अपने आवेदन में सामान जोड़ने के लिए फ़ाइल> प्रोजेक्ट स्ट्रक्चर का उपयोग किया है, लेकिन यह स्वयं ही काम नहीं करता है। यह सिंटैक्स त्रुटियों के बारे में चिल्लाना बंद कर देता है लेकिन जब यह त्रुटियों को संकलित करता है।एंड्रॉइड स्टूडियो

मैंने थोड़ा सा शोध किया और पाया है कि मुझे बनाने के लिए सामान जोड़ने की जरूरत है। Gradle या settings.gradle (या दोनों) लेकिन मुझे वास्तव में क्या करना है पर एक निश्चित उत्तर मिला है। मैंने जो भी कोशिश की है, अब तक काम नहीं किया है। इसलिए यदि कोई भी मुझे समझा सकता है मुझे क्या करना है क्या, या मुझे एक जगह से लिंक जहां यह बताते हैं कि क्या करना है कि महान

--edit--

होगा मैं अभी इतना उलझन में हूँ। मैंने एक नई परियोजना शुरू की। मैंने 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 लाइनों के बाद किया गया

क्या कोई विचार है कि मैं क्या गलत कर रहा हूं?

+0

इससे मदद मिल सकती है http://www.gadgetsaint.com/android/play-youtube-android-youtube-player-api/#.WOtVXPl96Hs – ASP

उत्तर

34

बस Gradle फ़ाइल में इस निर्भरता जोड़ें:

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

और यूट्यूब वस्तु का उपयोग करें।

संदर्भ: https://developers.google.com/api-client-library/java/apis/youtube/v3

+0

आपको बहुत बहुत धन्यवाद –

+0

अच्छा, मैंने सोचा कि यह काम करता है, लेकिन यह वास्तव में इसे तोड़ने का कारण बनता है। हालांकि यह मेरा खुद का काम था। मुझे बस खिलाड़ी की जरूरत है। डेटा एपीआई –

8

चरण 1: से https://developers.google.com/youtube/android/player/downloads/

चरण 2 डाउनलोड YoutubeAndroidPlayerApi.jar: पेस्ट करें libs परियोजना के अनुप्रयोग फ़ोल्डर के अंदर फ़ोल्डर में

चरण 3: निर्माण करने के लिए निम्न पंक्ति जोड़ें ।

compile files('libs/YouTubeAndroidPlayerApi.jar') 

चरण 4:: परियोजना के अनुप्रयोग फ़ोल्डर में Gradle निम्नलिखित गतिविधि है जो 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: के अंदर OnCreate विधि:

//Make sure you initialize youtube player 

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

youTubeView.initialize(YoutubeAPIKey, this); 

कहाँ YouTubeAPIKey आप वेब प्रोजेक्ट में अपनी प्रोजेक्ट पंजीकृत करने के बाद Google कंसोल से प्राप्त करेंगे, मोबाइल का चयन न करें एंड्रॉयड या किसी

चरण 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 कॉल से प्राप्त की है: की तरह प्राप्त में पारित उपयुक्त मानकों के साथ "https://www.googleapis.com/youtube/v3/search" , "क्यू, प्रासंगिकता भाषा, प्रकार, कुंजी" इत्यादि

+0

'संकलन फाइलें' ('libs/... jar') जोड़ना आवश्यक नहीं है। फ़ाइल ट्री पहले ही डिफ़ॉल्ट रूप से अनुपालन कर रहा है –

संबंधित मुद्दे