2012-03-06 46 views
0

我是新来的android,json,处理和stackoverflow,所以请忍受我。我采取了一些处理代码,确保它的工作,并试图创建一个android apk。我有一个未解决的错误。我有一个函数,int getFeedLength()。它必须捕获一个异常,并返回一个null。JSON异常阻止android构建

每当我返回一个空值(用其他任何东西代替它失败),Android构建失败,我已经看了很多在线资源无济于事。

是否有替代方法返回null或其他可以让构建继续的其他方法?我尝试了float和double,并且都导致了其他类型的错误。

下面是函数,如果需要的话,我可以分享整个处理素描:

int getFeedLength() { 
    int result; 
    String response = loadStrings(BASE_URL + APIKEY)[0]; 

    if (response != null) { 
     try { 
      JSONObject root = new JSONObject(response); 
      JSONArray feeds = root.getJSONArray("feeds"); 
      result = feeds.length(); 
      println("number of feed entries: " + result); 
      return result; 
     } 

     catch (JSONException e) { 
      throw new Exception("Unable to perform action such an such"); 
      return null; 
     } 
    } 

} 

以下是错误:

C:\Users\SYAMAN~1\AppData\Local\Temp\android3618104784291490945.pde\src\changethispackage\beforesubmitting\tothemarket\app\app.java:248: incompatible types 
[javac] found : <nulltype> 
[javac] required: int 
[javac] return null; 
+0

确切的线是248? – Knossos 2012-03-06 08:15:37

回答

0

你有没有尝试使返回getFeedLength()方法的类型是一个整数? 类似这样的:

Integer getFeedLength() { 

Hpe有帮助。

+0

你好,我试过了,它没有帮助。当我使用整数时,我得到函数中每一行的错误。谢谢! – 2012-03-06 08:10:58

1

而不是return nullreturn 0,因为你已经设置返回类型int返回0,将在年底更舒适知道是否有任何饲料或没有。

+0

你好Soni,如果我返回零,我会收到错误提示catch不起作用。谢谢! – 2012-03-06 19:53:58