我可以使用JAVA获取Youtube内容。请帮我在Android中获取数据。

这是Java中的代码:

public class YouTubeTest
{

public static void main(String[] args)
    {
   try {
        YouTubeService myService = new YouTubeService("mycompany-myapp-1");

        String myFeed = "http://gdata.youtube.com/feeds/videos?start-index=1&max-results=25&q=earth";

       printVideoFeed(myService, myFeed);
   }
       catch (IOException ex) {
        Logger.getLogger(YouTubeTest.class.getName()).log(Level.SEVERE, null, ex);
    }
        catch (ServiceException ex) {
        Logger.getLogger(YouTubeTest.class.getName()).log(Level.SEVERE, null, ex);
    }
}

private static void printVideoFeed(YouTubeService service, String feedUrl) throws IOException, ServiceException {
    VideoFeed videoFeed = service.getFeed(new URL(feedUrl), VideoFeed.class);
    List<VideoEntry> allVideos = videoFeed.getEntries();
    Iterator<VideoEntry> itAllVideos = allVideos.iterator();
    while (itAllVideos.hasNext()){
        VideoEntry oneVideo  = itAllVideos.next();
        TextConstruct oneVideoTitle = oneVideo.getTitle();
        String oneVideoTitleText = oneVideoTitle.getPlainText();

        //Print titles of all videos:
        System.out.print(oneVideoTitleText);

        List<Person> allAuthors = oneVideo.getAuthors();
        Iterator<Person> itAllAuthors = allAuthors.iterator();
        while (itAllAuthors.hasNext()){
            Person oneAuthor = itAllAuthors.next();
            //Print authors of current title:
            System.out.print(" (by " + oneAuthor.getName() +")");
        }
        YtStatistics views= oneVideo.getStatistics();
        System.out.print("\t "+views.getViewCount());

    }
}


}

我包括了:
mail.jar
activation.jar
gdata-client-1.0.jar
gdata-client-meta-1.0.jar
gdata-core-1.0.jar
gdata-media-1.0.jar
gdata-youtube-1.0.jar
gdata-youtube-meta-1.0.jar

当我在android中尝试相同的代码时,它给出了异常:

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError:com.google.gdata.client.youtube.YouTubeService

        at com.example.youtry.YouTubeTest.abcd(YouTubeTest.java:32)
    at com.example.youtry.MainActivity.onCreate(MainActivity.java:15)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
    at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:3683)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)


请帮帮我!!!

最佳答案

我的建议是您可以使用json Api获取所有类型的Youtub Vedioe,并且可以轻松地对其进行解析,并获取所需的详细信息。

喜欢包含vidieo类型
String [] MatchItem = {“ top_rated”,“ top_favorites”,“ most_viewed”,“ most_popular”,“ most_recent”};

//有用的网址

strUrlmy =“ http://gdata.youtube.com/feeds/api/standardfeeds/"+MatchItem[position]+”?
v = 2&alt = json“;

10-04 23:05