2013-05-10 4 views
0

웹 서비스에 연결하고 응답 코드를받는 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의 값을 확인 했습니까? –

+0

또한 나는 restlet 프레임 워크에서 동일한 응답으로 구현하려고했습니다. 나는 휴식 프레임 워크로 전환했다. 표시되는 코드는 프레임 워크에서 구현됩니다. – Carmad94

+0

Java 응용 프로그램에서이 코드를 실행합니다. 그것은 작동했으며 응답 var는 json 형식과 응답 헤더를 반환합니다. – Carmad94

답변

0

이 코드는 에뮬레이터에서 여러 번 실행되지만 결코 작동하지 않습니다. 그러나, 이것을 안드로이드 장치에서 실행하면 효과가 있습니다! NullPointerException은 서버에서 아무런 응답이나 응답을받지 못할 때 발생합니다. 그러나 내가 이해할 수없는 것은 이것이 왜 일어나는가하는 것입니다. 안드로이드 응용 프로그램을 실행하는 측면에서 에뮬레이터와 안드로이드 장치간에 차이점이 있습니까?

+0

아니요. 안드로이드 응용 프로그램을 실행하는 측면에서 에뮬레이터와 안드로이드 장치 사이에 아무런 차이가 없습니다. 질문이 걱정되는 한. 당신이 NPE를 얻는 이유는 에뮬레이터가 인터넷에 액세스 할 수 없었고 인터넷에 액세스 할 수없는 이유는 실행 구성에서 DNS 서버 설정을 설정하지 않은 경우입니다. Windows -> 환경 설정 -> Android -> 실행에서 설정할 수 있습니다. 이제 기본 에뮬레이터에서 설정할 수 있습니다 옵션 put->'-dns-server 8.8.8.8,8.8.4.4' –

+0

@Vishal 그것이 효과가있다! 공유해 주셔서 감사합니다! :) – Carmad94

관련 문제