Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 메서드
- layout
- JavaScript
- 클래스
- Spring
- 배열
- Graphic
- 국제화
- Android
- 어노테이션
- AWT
- 기본
- struts2
- Menu
- Eclips
- 전화걸기
- JSP
- HTML
- OGNL
- 안드로이드
- 메소드
- oracle
- 오버로딩
- Java
- 예외처리
- paint
- 에러페이지
- 생성자
- 이클립스
- mybatis
Archives
- Today
- Total
note
Handler 사용하기 (로딩 표시?) 본문
기존 이미지
수정된 이미지(코드를 더 추가하여 Progress몇개더 구현함
막대의 형태의 progress
수정된 이미지(코드를 더 추가하여 Progress몇개더 구현함
막대의 형태의 progress
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <!-- 막대바 형식의 progress --> <ProgressBar android:id="@+id/progress" android:layout_width="fill_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" /> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleLarge" /> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleSmall" /> </LinearLayout>
package com.commonsware.android.threads; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.ProgressBar; public class HandlerDemo extends Activity { ProgressBar bar; //백그라운드 작업을 하고 있는 Thread 객체가 데이터를 Message에 담아서 //전달 받으면 해당메세지로 부터 데이터 추출해서 Activity의 View전달하는 역할 Handler handler = new Handler() { @Override public void handleMessage(Message msg){ bar.incrementProgressBy(5); } }; boolean isRunning=false; //Activity 생명주기 //onCreate메소드 -> onStart메소드 -> onResume메소드 -> 화면 display //화면이 가려질 때는 onPause 메소드 -> onStop메소드 //화면이 가려졌다 다시 display 될때 onRestart메소드 -> onStart메소드 -> onResume메소드 -> 화면 display @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bar=(ProgressBar)findViewById(R.id.progress); } public void onStart(){ super.onStart(); bar.setProgress(0); //Progressbar 초기화 Thread background=new Thread(new Runnable() { public void run(){ try{ for (int i=0; i<20 && isRunning; i++){ Thread.sleep(1000); handler.sendMessage(handler.obtainMessage()); } } catch(Throwable t){ //오류가 발생하면 백그라운드 스레드를 그대로 종료한다 } } }); isRunning=true; background.start(); } public void onStop(){ super.onStop(); isRunning=false; } }
'Android > 기본' 카테고리의 다른 글
NetWork Wifi , 3G (0) | 2012.01.12 |
---|---|
Browser WebView (브라우저) (0) | 2012.01.11 |
Activity 생명주기 (0) | 2012.01.11 |
Message 팝업창 띄우기 경고창,토스트 표시,Progress Dialog (0) | 2012.01.11 |
ConText Menu 메뉴 (길게 터치시 팝업메뉴) (0) | 2012.01.11 |