2013-05-10 49 views
0

我正在创建一个连接到Web服务并获取响应代码的Android客户端。问题是Android应用程序崩溃,每当我运行下面的代码:在休息框架中获取请求错误

RequestParams params = new BasicRequestParams(); 
params.add("client_id", "24f8b46fc9db409012830ca264ad7bcf"); 
params.add("response_type", "code"); 

ServiceResponse response=Resting.get("http://pricewatch.ap01.aws.af.cm/api/pricewatch/oAuth/auth",80,params); 

IContentData contentData = response.getContentData(); 
String content = (String) contentData.getContent(); 

JSONObject jsonObject = new JSONObject(content); 
String code = (String) jsonObject.get("code"); 
return code;  

它产生与这些线显示java.lang.NullPointerException:

IContentData contentData = response.getContentData(); 

可能有人用这些帮助吗?我一直坚持这些。提前致谢!

+0

您是否检查过'reponse' var的值? – 2013-05-10 18:29:09

+0

另外我试图在restlet框架中实现它相同的响应。我转向休息框架。您看到的代码在休息框架中实现 – Carmad94 2013-05-11 01:07:17

+0

我在java应用程序中运行此代码。它工作并且响应var返回一个json格式和响应头文件。 – Carmad94 2013-05-11 03:12:38

回答

0

我在模拟器中多次运行此代码,但从未工作。但是,当我在Android设备上运行它时,它工作正常!当它在服务器中没有得到任何东西或任何响应时发生NullPointerException。但我不明白的是为什么会发生这种情况?在执行android应用程序方面,模拟器和android设备有区别吗?

+0

不,在执行Android应用程序方面,模拟器和Android设备之间没有任何区别,只要您的问题涉及。您获得NPE的原因是因为您的模拟器无法访问互联网及其无法访问互联网的原因是您没有在启动配置中设置dns服务器设置。您可以在Windows-> Preferences-> Android-> Launch中设置它们,现在在默认模拟器选项put->'-dns-server 8.8.8.8,8.8.4.4' – 2013-05-13 17:20:07

+0

@Vishal它的工作!感谢你的分享!:) – Carmad94 2013-05-14 14:27:52