안드로이드: 비동기 작업 code snippet

개발과삶 2010/08/11 21:00 Posted by 종이비행기
안드로이드용 앱을 개발하면서 자주 사용하는 비동기 작업 코드를 정리하였습니다.

1. Handler
new Handler().postDelayed(new Runnable() {
     @Override
     public void run() {
         // 로직(단시간 처리가능한 로직) & UI
     }
}, 1000); // 1초후 실행

2. AsyncTask
new AsyncTask<String, Integer, Boolean>() {
    @Override
    protected void onPreExecute() {
        // UI 처리
        super.onPreExecute();
    }

    @Override
    protected Boolean doInBackground(String... params) {
        // 로직 처리
        return true;
    }

    @Override
    protected void onProgressUpdate(Integer... progress) {
        // UI 처리
    }

    @Override
    protected void onPostExecute(Boolean result) {
        // UI 처리
    }

    @Override
    protected void onCancelled() {
        super.onCancelled();
    }
}.execute();

3. Timer & TimerTask
new Timer().schedule(new TimerTask() {
    public void run() {
        // UI 및 로직
    }
}, 1000); // 1초후 실행

4. Theard & Message
new Thread(new Runnable() {
    @Override
    public void run() {
        // 로직처리
        handler.sendEmptyMessage(0);
    }
});

private Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        // UI처리
    }
};


저작자 표시 비영리 변경 금지