2010-11-22 56 views
0

我只想讓我的視頻playUrl在android中...... 我已經檢查了有關在Android中使用YouTubeSample的相關問題,他們的回答是是 但是當我運行我在模擬器代碼或Android設備不工作 我的代碼是:我不能在Android應用程序中使用google api java客戶端YouTubeSample

import java.io.IOException; 
    import com.google.api.client.googleapis.GoogleHeaders; 
    import com.google.api.client.googleapis.GoogleTransport; 
    import com.google.api.client.googleapis.json.*; 
    import com.google.api.client.http.*; 
    import android.app.Activity; 
    import android.os.Bundle; 
    import android.widget.TextView; 
    public class main extends Activity { 
    HttpTransport transport; 
     /** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      Debug.enableLogging(); 
      try { 
       try { 
       HttpTransport transport = setUpTransport(); 
       showVideos(transport); 
       } catch (HttpResponseException e) { 

       throw e; 
       } 
      } catch (Throwable t) { 
       t.printStackTrace(); 

      } 
     } 
     private static HttpTransport setUpTransport() { 
      HttpTransport transport = GoogleTransport.create(); 
      GoogleHeaders headers = (GoogleHeaders) transport.defaultHeaders; 
      headers.setApplicationName("Google-YouTubeSample/1.0"); 
      headers.gdataVersion = "2"; 
      transport.addParser(new JsonCParser()); 
      return transport; 
      } 

      private static VideoFeed showVideos(HttpTransport transport) 
       throws IOException { 
      //View.header("Get Videos"); 
      // build URL for the video feed for "search stories" 
      YouTubeUrl url = YouTubeUrl.forVideosFeed(); 
      url.author = "cecol3500123"; 
      // execute GData request for the feed 
      VideoFeed feed = VideoFeed.executeGet(transport, url); 
      //View.display(feed); 
      return feed; 
      } 
    } 

我編譯好的,但在設備上只得到應用程序的主已停止意外

我發現我始終停在代碼:HttpTransport transport = GoogleTransport.create();

的AndroidManifest已設置權限: <uses-permission android:name="android.permission.INTERNET"></uses-permission>

我的項目有谷歌API的Java客戶端庫。 我設定了什麼,好嗎? 我試過所有可能的(我修改了代碼,一次又一次)。 我不知道該怎麼辦。 請幫助我,我只想讓我的視頻playUrl在Android .... (或者有人能給我正確的代碼?)。 對不起我的英語不好

renew with debug trace 
this is my program Debug trace        
11-23 09:45:10.466: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f0700e5         
11-23 09:45:10.486: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f020031   
11-23 09:45:10.496: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f020030   
11-23 09:45:10.506: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f050000  
11-23 09:45:10.716: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f060000    
11-23 09:45:10.856: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f060001      
11-23 09:45:11.866: DEBUG/ddm-heap(180): Got feature list request  
11-23 09:45:12.166: DEBUG/ddm-heap(185): Got feature list request     
11-23 09:45:12.526: DEBUG/ddm-heap(165): Got feature list request    
11-23 09:45:12.716: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f0700e5        
11-23 09:45:12.756: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f020031         
11-23 09:45:12.767: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f020030       
11-23 09:45:12.776: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f050000      
11-23 09:45:12.796: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f060000       
11-23 09:45:12.826: WARN/ResourceType(62): Resources don't contain package for resource number 0x7f060001  
11-23 09:45:13.286: DEBUG/ddm-heap(143): Got feature list request  
11-23 09:45:13.646: WARN/BackupManagerService(62): dataChanged but no participant pkg='com.android.providers.settings' uid=10017  
11-23 09:45:13.946: WARN/BackupManagerService(62): dataChanged but no participant pkg='com.android.providers.settings' uid=10017  
11-23 09:45:14.426: DEBUG/dalvikvm(62): GC freed 8344 objects/558776 bytes in 461ms  
11-23 09:45:14.826: INFO/ActivityManager(62): Start proc com.android.email for broadcast  com.android.email/com.android.exchange.BootReceiver: pid=205 uid=10023 gids={3003, 1015} 
11-23 09:45:14.836: INFO/ActivityManager(62): Starting activity: Intent {  act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.testcom/.main }   
11-23 09:45:15.066: DEBUG/AndroidRuntime(185): Shutting down VM   
11-23 09:45:15.076: DEBUG/dalvikvm(185): DestroyJavaVM waiting for non-daemon threads to exit   
11-23 09:45:15.106: DEBUG/dalvikvm(185): DestroyJavaVM shutting VM down  
11-23 09:45:15.106: DEBUG/dalvikvm(185): HeapWorker thread shutting down  
11-23 09:45:15.116: DEBUG/dalvikvm(185): HeapWorker thread has shut down  
11-23 09:45:15.127: DEBUG/jdwp(185): JDWP shutting down net...  
11-23 09:45:15.127: INFO/dalvikvm(185): Debugger has detached; object registry had 1 entries    
11-23 09:45:15.147: DEBUG/dalvikvm(185): VM cleaning up    
11-23 09:45:15.226: ERROR/AndroidRuntime(185): ERROR: thread attach failed   
11-23 09:45:15.496: DEBUG/dalvikvm(185): LinearAlloc 0x0 used 639500 of 5242880 (12%)   
11-23 09:45:15.566: WARN/ActivityManager(62): Activity pause timeout for  HistoryRecord{43cec138 com.android.launcher/.Launcher}  
11-23 09:45:15.676: INFO/ActivityManager(62): Start proc com.testcom for activity  com.testcom/.main: pid=210 uid=10027 gids={3003, 1015} 
11-23 09:45:16.266: DEBUG/ddm-heap(205): Got feature list request 
11-23 09:45:16.786: DEBUG/ddm-heap(210): Got feature list request 
11-23 09:45:16.976: DEBUG/dalvikvm(30): GC freed 284 objects/10848 bytes in 1262ms 
11-23 09:45:17.517: DEBUG/dalvikvm(30): GC freed 50 objects/2224 bytes in 410ms 
11-23 09:45:17.647: INFO/dalvikvm(210): Could not find method com.google.api.client.googleapis.GoogleTransport.create, referenced from method com.testcom.main.setUpTransport  
11-23 09:45:17.657: WARN/dalvikvm(210): VFY: unable to resolve static method 4:  Lcom/google/api/client/googleapis/GoogleTransport;.create()Lcom/google/api/client/http/HttpTransport; 
11-23 09:45:17.657: DEBUG/dalvikvm(210): VFY: replacing opcode 0x71 at 0x0009  
11-23 09:45:17.677: DEBUG/dalvikvm(210): Making a copy of Lcom/testcom/main;.setUpTransport code (128 bytes)  
11-23 09:45:17.687: WARN/dalvikvm(210): VFY: unable to find class referenced in signature (Lcom/google/api/client/http/HttpTransport;) 
11-23 09:45:17.697: WARN/dalvikvm(210): Unable to resolve superclass of Lcom/testcom/YouTubeUrl; (6) 
11-23 09:45:17.777: WARN/dalvikvm(210): Link of class 'Lcom/testcom/YouTubeUrl;' failed 
11-23 09:45:17.777: INFO/dalvikvm(210): Could not find method  com.testcom.YouTubeUrl.forVideosFeed, referenced from method com.testcom.main.showVideos 
11-23 09:45:17.787: WARN/dalvikvm(210): VFY: unable to resolve static method 40:  Lcom/testcom/YouTubeUrl;.forVideosFeed()Lcom/testcom/YouTubeUrl; 
11-23 09:45:17.787: DEBUG/dalvikvm(210): VFY: replacing opcode 0x71 at 0x0007  
11-23 09:45:17.826: DEBUG/dalvikvm(210): Making a copy of Lcom/testcom/main;.showVideos code (56 bytes)  
11-23 09:45:17.867: WARN/dalvikvm(210): VFY: unable to find class referenced in signature (Lcom/google/api/client/http/HttpTransport;)  
11-23 09:45:17.877: WARN/dalvikvm(210): VFY: unable to find class referenced in signature (Lcom/google/api/client/http/HttpTransport;)  
11-23 09:45:17.927: WARN/dalvikvm(210): VFY: unable to resolve exception class 13 (Lcom/google/api/client/http/HttpResponseException;) 
11-23 09:45:17.937: WARN/dalvikvm(210): VFY: unable to find exception handler at addr 0x13  
11-23 09:45:17.947: WARN/dalvikvm(210): VFY: rejected Lcom/testcom/main;.onCreate (Landroid/os/Bundle;)V  
11-23 09:45:17.957: WARN/dalvikvm(210): VFY: rejecting opcode 0x0d at 0x0013  
11-23 09:45:17.957: WARN/dalvikvm(210): VFY: rejected Lcom/testcom/main;.onCreate  (Landroid/os/Bundle;)V 
11-23 09:45:18.017: WARN/dalvikvm(210): Verifier rejected class Lcom/testcom/main;  
11-23 09:45:18.017: WARN/dalvikvm(210): Class init failed in newInstance call  (Lcom/testcom/main;) 
11-23 09:45:18.027: DEBUG/AndroidRuntime(210): Shutting down VM  
11-23 09:45:18.037: WARN/dalvikvm(210): threadid=3: thread exiting with uncaught exception (group=0x4001b188) 
11-23 09:45:18.047: ERROR/AndroidRuntime(210): Uncaught handler: thread main exiting due to uncaught exception  
11-23 09:45:18.107: DEBUG/dalvikvm(30): GC freed 2 objects/48 bytes in 568ms  
11-23 09:45:18.167: ERROR/AndroidRuntime(210): java.lang.VerifyError: com.testcom.main  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at java.lang.Class.newInstanceImpl(Native Method)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at java.lang.Class.newInstance(Class.java:1479)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at android.os.Handler.dispatchMessage(Handler.java:99)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at android.os.Looper.loop(Looper.java:123)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at android.app.ActivityThread.main(ActivityThread.java:4363)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at java.lang.reflect.Method.invokeNative(Native Method)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at java.lang.reflect.Method.invoke(Method.java:521)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)  
11-23 09:45:18.167: ERROR/AndroidRuntime(210):  at dalvik.system.NativeStart.main(Native Method)  
11-23 09:45:18.237: INFO/ActivityThread(205): Publishing provider com.android.email.provider: com.android.email.provider.EmailProvider 

回答

1

嘿,大家(僅僅只有兩個人) 我發現這個問題是我的庫路徑是不正確的 的編譯類路徑是正確的,但運行時類路徑是錯誤的日食 雖然我不知道怎麼回事 我的解決方案是直接在項目下添加.jar文件,而不是創建用戶庫(其中包括.jar文件)並將其添加到項目 因此,youtubesample可以在android上運行,但需要注意類路徑設置

0

你們一定要添加類似:

<uses-library android:name="com.google.android.something" /> 

在你的清單(我不知道的東西是什麼谷歌運輸)

+0

實際上,我的AndroidManifest設置了:「android.permission.GET_ACCOUNTS」,「android.permission.MANAGE_ACCOUNTS」,「android.permission.USE_CREDENTIALS」,「com.google.android.googleapps.permission.GOO GLE_AUTH「,」com.google.android.googleapps.permission.GOOGLE_AUTH.youtube「,我缺少什麼? – cecol 2010-11-23 01:48:07

+0

我編輯了我的帖子,我是新的在stackoverflow中,我沒有看到被捕的部分沒有出現!你可能會想念索姆河使用庫 – Khetzal 2010-11-23 08:26:01

1

它與權限無關。

我懷疑發生了什麼是您的編譯類路徑上有com.google.api.client.googleapis.GoogleTransport,但不是運行時類路徑。或者也許你正在編譯一個版本,但是與另一個版本的庫運行。

這發生在我身上,例如當我使用Maven時,出於某種原因,在通過Eclipse運行時不受尊重。您必須確保在.classpath中明確指定了對google-api-java-client軟件包的依賴關係。

相關問題