2013-07-10 87 views
1

這裏是我的代碼:無法創建電子表格

SpreadsheetService spreadsheet= new SpreadsheetService("v1"); 
    spreadsheet.setProtocolVersion(SpreadsheetService.Versions.V3); 

    try { 
     spreadsheet.setUserCredentials("username", "password"); 
     URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full"); 
     SpreadsheetFeed feed = spreadsheet.getFeed(metafeedUrl, SpreadsheetFeed.class); 

     List<SpreadsheetEntry> spreadsheets = feed.getEntries(); 
     for (SpreadsheetEntry service : spreadsheets) {    
      System.out.println(service.getTitle().getPlainText()); 
     } 
    } catch (AuthenticationException e) {   
     e.printStackTrace(); 
    } 

但它似乎並沒有工作。它總是在電子表格的構造函數中崩潰。我使用這些庫:

  • GDATA,客戶端1.0
  • GDATA,客戶薈萃1.0
  • GDATA核-1.0
  • GDATA,電子表格3.0
  • GDATA,數據表單元3.0
  • 番石榴13.0.1

誰能告訴我什麼可以可能是錯誤的?

+0

使用LogCat檢查與您的崩潰相關的Java堆棧跟蹤。 – CommonsWare

回答

0

它在Spreadsheet的構造函數中崩潰?不是SpreadsheetService? Spreadsheet的實例在哪裏創建?我想可能是幕後的某個地方。無論如何,正如一位評論者所說,請檢查logcat。如果你完全不知道它崩潰的地方(它應該告訴你,如果你閱讀出現的文字牆),只要將logcat絕對放在任何地方都可以。

static final String MESSAGE = "SPREADSHEET TEST MESSAGE:"; 
SpreadsheetService spreadsheet= new SpreadsheetService("v1"); 
Log.d(MESSAGE, "spreadsheet was created successfully."); 
spreadsheet.setProtocolVersion(SpreadsheetService.Versions.V3); 
Log.d(MESSAGE, "setProtocolVersion done successfully."); 

try { 
    spreadsheet.setUserCredentials("username", "password"); 
    Log.d(MESSAGE, "set credentials worked."); 
    URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full"); 
    Log.d(MESSAGE, "metafeedUrl was created successfully."); 
    SpreadsheetFeed feed = spreadsheet.getFeed(metafeedUrl, SpreadsheetFeed.class); 
    Log.d(MESSAGE, "feed was created, too."); 
    List<SpreadsheetEntry> spreadsheets = feed.getEntries(); 
    Log.d(MESSAGE, "spreadsheets List was created successfully."); 
    for (SpreadsheetEntry service : spreadsheets) {    
     System.out.println(service.getTitle().getPlainText()); 
    } 
    Log.d(MESSAGE, "The for-loop worked."); 
} catch (AuthenticationException e) {   
    e.printStackTrace(); 
} 

它看起來很愚蠢,但你可以刪除所有的信息,一旦它的工作。我通常只會做這種事情,如果我不知道所有聖潔的事情是什麼,它應該產生更多的結果,而不只是盯着屏幕。

無論如何,看看它失敗的地方,並從那裏弄清楚。一旦你瞭解得更清楚,也許會問一個更清晰的問題。

+0

對不起,它被認爲是SpreadsheetService而不是電子表格。我已經使用日誌,我完全確定它與SpreadsheetService構造函數崩潰。我添加logcat輸出: – user2570143