안드로이드관련 책사서 이제 막 시작한 초보입니다.

 

책에 있는 쓰레드 관련 예제를 작성하여 실행했는데..."예상치 않게 중지되었습니다"라는 메시지가 뜨고 실행이 안되네요

 

코드 문제는 아닌거 같은데...에뮬레이터와 스마트폰 두곳에서 다 해봐도 안됩니다.

 

개발환경은 ...  OS는 윈도우 XP, ADT와 이클립스는 구글사이트에서 다운 받았고,   자바버전은 1.7.0_10 입니다. 

 

회원님들의 도움 부탁드립니다 ㅠ.ㅠ

 

코드와 에러 메시지 첨부합니다.   

 

 

소스코드

 package jerom.test;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.util.Log;
import android.widget.*;
import android.os.Handler;
import android.os.Message;
public class MainActivity extends Activity {
 private ProgressBar mProgress;
 private TextView textview;
 
 Handler handler = new Handler() {
  @Override
  public void handleMessage(Message msg){
   textview.setText("스레드는 우리가 텍스트뷰의" +
     "문자열을 변경하는데 큰 영향을 주지 않습니다.");
  }
 }; 
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  new Thread(
    new Runnable() {
     public void run() {
      int i=0;      
      while(true) {
       if (i>100) {
        Message message = handler.obtainMessage();
        handler.sendMessage(message);
        break;
       } else {
        mProgress.setProgress(i);
        Log.i("log", String.valueOf(i));
       }       
       try {
        Thread.sleep(1000);
        i += 10;
       } catch(InterruptedException ie) {
        ie.printStackTrace();
       }
      }
     }
    }
    ).start();  
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  // Inflate the menu; this adds items to the action bar if it is present.
  getMenuInflater().inflate(R.menu.activity_main, menu);
  return true;
 }
}

 

에러메시지

 12-24 18:31:15.009: W/dalvikvm(17034): threadid=8: thread exiting with uncaught exception (group=0x400185a8)
12-24 18:31:15.009: E/AndroidRuntime(17034): FATAL EXCEPTION: Thread-9
12-24 18:31:15.009: E/AndroidRuntime(17034): java.lang.NullPointerException
12-24 18:31:15.009: E/AndroidRuntime(17034):  at jerom.test.MainActivity$2.run(MainActivity.java:39)
12-24 18:31:15.009: E/AndroidRuntime(17034):  at java.lang.Thread.run(Thread.java:1019)
12-24 18:43:44.079: W/dalvikvm(17515): threadid=8: thread exiting with uncaught exception (group=0x400185a8)
12-24 18:43:44.079: E/AndroidRuntime(17515): FATAL EXCEPTION: Thread-9
12-24 18:43:44.079: E/AndroidRuntime(17515): java.lang.NullPointerException
12-24 18:43:44.079: E/AndroidRuntime(17515):  at jerom.test.MainActivity$2.run(MainActivity.java:40)
12-24 18:43:44.079: E/AndroidRuntime(17515):  at java.lang.Thread.run(Thread.java:1019)

 

인터넷에서 timer 관련 예제 찾아서 해봐도 똑같습니다.

timer랑 thread 둘다 안되는데....같은 이유인거 같은데 아무리 뒤져도 모르겠습니다. ㅠ.ㅠ

 

공부 시작한지 2주 됐는데...벌써 위기입니다 . ㅎㅎ