2012-03-06 5 views
1

나는 서비스 클래스를 사용하여 매번 다시 배경에서 응용 프로그램을 실행하여 작업하고 있습니다. 서비스 클래스는 바닥에서 실행됩니다. 내 서비스 클래스에서 나는 매 시간마다 배경을 달리기 위해 시간을 사용했습니다. .이 경우에는 내 에뮬레이터에서 오류가 발생하지 않지만 내 응용 프로그램을 실행하면 실제 장치가 나는 치명적인 예외 타이머 0 오류가 발생합니다. 나는 다음과 같이 내가 오류를 얻고있다 위의 구현을 실행하면FATAL EXCEPTION 타이머 -0을 해결하는 방법은 무엇입니까?

public class RepeatService extends Service 
{ 
ArrayList<ShoutMessage> resultMessage; 
private Timer timer = new Timer(); 
private static final long UPDATE_INTERVAL = 30000; 
@Override 
public IBinder onBind(Intent arg0) { 
    return null; 
} 

@Override 
public void onCreate() { 

    pollForUpdates(); 
    super.onCreate(); 
} 

private void pollForUpdates() { 
    timer.scheduleAtFixedRate(new TimerTask() { 
     @Override 
     public void run() { 


      resultShoutMessage = new ParseXml().convertMessages(new Model().getMessages(getID)); 

      for(int i=0;i<resultMessage.size();i++) 
      { 
       String userID = resultMessage.get(i).getUserID(); 
       String userName = resultMessage.get(i).getUserFirstName(); 
       String messageID= resultMessage.get(i).getMessageID(); 
       String userMessage=resultMessage.get(i).getMessageText(); 


      } 

       intent.setAction("com.sample.presentationLayer"); 
       sendBroadcast(intent); // finally broadcast 
     } 
    }, 0, UPDATE_INTERVAL); 

} 


@Override 
public void onDestroy() { 
    timer.cancel(); 

    super.onDestroy(); 
} 

}

:

01-01 01:18:34.414: ERROR/AndroidRuntime(2049): FATAL EXCEPTION: Timer-0 
01-01 01:18:34.414: ERROR/AndroidRuntime(2049): java.lang.NullPointerException 
01-01 01:18:34.414: ERROR/AndroidRuntime(2049):  at com.fitzgerald.presentationLayer.RepeatService$1.run(RepeatService.java:63) 
01-01 01:18:34.414: ERROR/AndroidRuntime(2049):  at java.util.Timer$TimerImpl.run(Timer.java:289) 

어떻게 내가 해결할 수 다음과 같이

나는 내 응용 프로그램을 구현 한 위의 문제는 내 신청서에 있습니까?

어떤 몸은 나를

+0

게시 전체 스택 추적 .. 자세한 로그 정보. 또한 가능한 경우 완전한 서비스 코드를 게시하십시오. – user370305

+0

'AlarmManager' 사용을 고려해보십시오. 귀하의 디자인보다 낫습니다 : http://developer.android.com/reference/android/app/AlarmManager.html –

답변

1

대신하여 RepeatService.java 라인에서 수 63NullPointerExceptionrun() 내부에 도움을 주시기 바랍니다. 그냥 해결해.

+0

그 응답은 웹 서비스에서 발생합니다. 어떻게하면 NullPointerException을 처리 할 수 ​​있습니까? 아이디어를 제공하십시오 ... –

+0

당신은 당신이 얻고있는 응답이 NULL이 아니고 또한 응답을 얻는다면 제대로 파싱하는지 확인해야합니다. –

관련 문제