안드로이드 개발 질문/답변
(글 수 45,052)
안드로이드관련 책사서 이제 막 시작한 초보입니다.
책에 있는 쓰레드 관련 예제를 작성하여 실행했는데..."예상치 않게 중지되었습니다"라는 메시지가 뜨고 실행이 안되네요
코드 문제는 아닌거 같은데...에뮬레이터와 스마트폰 두곳에서 다 해봐도 안됩니다.
개발환경은 ... 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주 됐는데...벌써 위기입니다 . ㅎㅎ




소스코드 윗부분이 나뉘어져 있는데...붙여서 보시면 되요.
질문이 처음이라... ^^