제가 얻고자 하는 값은,

안드로이드 단말을 이용하여, YouTube 컨텐츠를 보던 중,

YouTube Share메뉴를 통해 URL을 얻고,

얻은 URL에서, 기본적인 컨텐츠 정보를 얻고자 하는게 목표 입니다(우선 Title만이라도...)

 

해당 컨텐츠의 Entry를 얻기위해 YouTube Service를 얻어야  한다기에 이를 구현하기 위해,

gdata-src.java-1.47.1 를 다운받아, 이중 gdata-youtube-2.0.jar 와  gdata-media-1.0.jar 등등의 jar 파일들을

Eclipse의 Build path의 Libraries에 Add JARs를 통하여 추가시켜주고,

Order and Export에서 관련 jar파일들 모두 체크하여 찾을수 있도록까지 처리해 주었습니다.(물론 Clean까지 해주었습니다.)

 

이제 문제는,

위와 같이 세탕하고 컴파일시는 에러가 발생하지 않는데, 실제 러닝타임때 아래 YouTube Service 얻는 코드부분에서

아래와 같이 Class를 찾을수 없다고 자꾸 에러가 발생하는 겁니다. ㅠㅠ

 

E/dalvikvm(22947): Could not find class 'com.google.gdata.client.youtube.YouTubeService', referenced from method

어쩌구저쩌구.YouTubeMainActivity.onCreate

몇일을 웹검색을 해보았지만, 속시원한 답은 찾질 못하였습니다.

제발 어떠한 힌트라도 부탁 드립니다.

도와 주세요... ㅠㅠ

 

 

- 소스코드

 

import android.app.Activity;
import android.util.Log;
import android.os.Bundle;

import com.google.gdata.client.youtube.YouTubeService;
import com.google.gdata.data.youtube.VideoEntry;
import com.google.gdata.util.ServiceException;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;


public class YouTubeMainActivity extends Activity {
 
 private static final String developKey = "AI39si5aFUvdOqXEFVAqxyet7ut2wqS5W1Aijm2AdXbnXXOO어쩌구저쩌구...생략";
 private static final String clientID = "YouTube Test App"; 
 
 YouTubeService service ;
 
 private static final String TAG = "YouTubeMainActivity";
 
 @Override   
 protected void onCreate(Bundle savedInstanceState) { 
 
  super.onCreate(savedInstanceState);        
  setContentView(R.layout.youtube_main_layout);  

 

  service = new YouTubeService(clientID, developKey); // 러닝타임때 계속 에러 발생하는 line ... ㅠㅠ

 

  String videoEntryUrl = "http://www.youtube.com/v/RzSdZy3yBMQ";
  VideoEntry videoEntry = null;
  try {
   videoEntry = service.getEntry(new URL("videoEntryUrl), VideoEntry.class);
  } catch (MalformedURLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (ServiceException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  printVideoEntry(videoEntry, true); 
  
 } 
 
 public void printVideoEntry(VideoEntry videoEntry, boolean detailed) {
  Log.e(TAG, " printVideoEntry() ");
  
  Log.i(TAG, " videoEntry Title :  "+videoEntry.getTitle().getPlainText());
 }     

 @Override
 protected void onDestroy() {
  // TODO Auto-generated method stub
  super.onDestroy();
  Log.e(TAG, " onDestroy() ");
 }

}