안드로이드 개발 질문/답변
(글 수 45,052)
..................
public void onClick(View v) {
ProgressDialog();
}
});
}
private ProgressDialog prgdialog;
void ProgressDialog() {
prgdialog = ProgressDialog.show(this, "", "청소중입니다...", true, false);
Thread thread = new Thread(new Runnable() {
public void run() {
try {
final Process ppp = Runtime.getRuntime().exec("su");
final DataOutputStream out = new DataOutputStream(ppp.getOutputStream());
out.writeBytes("rm /system/file.abc\n");
out.writeBytes("exit\n");
Toast.makeText(getApplicationContext(), "Removed !", Toast.LENGTH_LONG).show();
} catch (Exception e) {
}
handler.sendEmptyMessage(0);
}
});
thread.start();
}
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
prgdialog.dismiss();
}
};
}
보시다시피 파일을 삭제하는 동안 progressdialog가 동작해서 삭제가 끝나면 사라지게끔했는데요..
사라지고나서 완료됬다는 메세지를 내보내기 위해서 파일 삭제 다음 구문에 Toast를 넣어뒀는데 보이질 않네요..
저기가 아닌듯한데 어디에다가 넣어주어야하나요?
2012.08.06 17:11:08
여러번 테스트 해보세요. 아래는 Handler로 처리한 예제입니다.
private final Handler handler = new Handler();
.......
......
new Thread(new Runnable(){
@Override
public void run() {
handler.post(new Runnable() {
public void run() {
try{
Class.forName("isNotClass"); // 예외처리 강제발생
} catch (Exception e) {
Toast.makeText(MainActivity.this, "test toast", Toast.LENGTH_LONG).show();
}
}
});
}
}).start();




질문 참 많이 하시네요.. 조금만 연구해보면 해결할 수 있는것들인데.. 무작정 질문하기 보다 스스로 해결해보세요..
위 코드는 당연히 토스트가 안뜹니다. 아주 기본인데..