마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

nullpointer exception 에러 경험많은고수님들부탁

0 추천

 

05-15 17:24:51.840: E/AndroidRuntime(21145): FATAL EXCEPTION: main
05-15 17:24:51.840: E/AndroidRuntime(21145): java.lang.NullPointerException
05-15 17:24:51.840: E/AndroidRuntime(21145): at com.samsung.sds.myscroll.MysMyPageActivity.access$2(MysMyPageActivity.java:264)
05-15 17:24:51.840: E/AndroidRuntime(21145): at com.samsung.sds.myscroll.MysMyPageActivity$InnerHandler.handleMessage(MysMyPageActivity.java:344)
05-15 17:24:51.840: E/AndroidRuntime(21145): at android.os.Handler.dispatchMessage(Handler.java:99)
05-15 17:24:51.840: E/AndroidRuntime(21145): at android.os.Looper.loop(Looper.java:137)
 
일단 에러메세지 이렇습니다.
 
(1)익셉션에러 나기직전의  소스
public void handleMessage(Message msg) {
MysMyPageActivity activity = mActivities.get();
 
switch (msg.what) {
case MysNetworkManager.CODE_HTTP_OK:
JSONObject responseJson;
try {
responseJson = new JSONObject((String) msg.obj);
int code = responseJson.getJSONObject("message").getInt(
"code");
switch (code) {
case MysNetworkMessage.CODE_OK:
activity.syncRollysData(responseJson
.getJSONObject("result"));
break;
default:
LogUtil.e(TAG, "InnerHandler ErrorCode = " + code);
activity.isNetworkConnected();
break;
}
} catch (JSONException e) {
e.printStackTrace();
}
break;
 
(2)두번째 가르키는 마지막 널포인트 익셉션나느곳
private void syncRollysData(JSONObject response) {
   ContentResolver resolver = getContentResolver();
 
함수명을 가르키고있네요..
 
서버에 API호출해서 값을받아와서 화면구성을 하는 application이고요,
좀더 구체적으로는 API생성시 network Thread생성해서 헨들러 설정하고
해당 헨들러에 값도착하면 헨들러에서 서버에서 받아온 정보 파싱해서
화면 싱크 맞추는 역할(동기화,화면재구성)등 을하고있습니다.
 
보통 잘돌아가는데... 네트워크가 불안하거나..
화면전환을 특이하게 막하거나.. 어쩔땐또 괜찮습니다..
 
미추어버리겠네요 ㅠ 고수님들도와주세욤
익명사용자 님이 2013년 5월 15일 질문

1개의 답변

0 추천

서버에서 넘어오는 응답을 다시 확인해 보세요~

responseJson.getJSONObject("message").getInt("code"); 는 넘어갔는데 

 

responseJson.getJSONObject("result") 에서 막혔네요..
 
질문하신대로 네트워크가 불안정하거나 화면전환을 특이하게 막하거나 하는경우에 처리를 
 
추가해 주셔야 할듯 합니다.

 

노예의집 (23,370 포인트) 님이 2013년 5월 15일 답변
그건알고요...질문을 답처럼 적어주시네
...