2013-07-10 88 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