노무현 전 대통령 서거 추모글 남기기

'전공/안드로이드'에 해당되는 글 28건

  1. 2009.12.08 안드로이드 쓰레드 관련
  2. 2009.11.18 안드로이드
  3. 2009.10.12 안드로이드 강좌


 


1. HandlerDemo

public class HandlerDemo extends Activity {
	ProgressBar bar;
	Handler handler=new Handler() {
		@Override
		public void handleMessage(Message msg) {
			bar.incrementProgressBy(5);
		}
	};
	boolean isRunning=false;
	
	@Override
	public void onCreate(Bundle icicle) {
		super.onCreate(icicle);
		setContentView(R.layout.main);
		bar=(ProgressBar)findViewById(R.id.progress);
	}
	
	public void onStart() {
		super.onStart();
		bar.setProgress(0);
		
		Thread background=new Thread(new Runnable() {
			public void run() {
				try {
					for (int i=0;i<20 && isRunning;i++) {
						Thread.sleep(10000);
						handler.sendMessage(handler.obtainMessage());
					}
				}
				catch (Throwable t) {
					// just end the background thread
				}
			}
		});
		
		isRunning=true;
		background.start();
	}
	
	public void onStop() {
		super.onStop();
		isRunning=false;
	}
}

.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	>
	<ProgressBar android:id="@+id/progress"
		style="?android:attr/progressBarStyleHorizontal"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
</LinearLayout>




[android] 메시지 핸들러(Handler) 사용하기
http://blog.daum.net/hopefullife/94

Handler 는 내부적으로 쓰레드를 생성해 메시지큐의 데이터의 입출력을 처리하는 녀석이다.

메시지큐에 메시지를 전송하거나 해당 메시지를 얻어올수 있다.

메시지를 전송할때 지연시간을 두어 전송토록 하는 메쏘드도 포함되어 있어

쓰레드간 메시지 스케줄링시 이래저래 많이 사용된다.

 

1. 메시지를 수신할 녀석을 설정한다.

public Handler handler = new Handler() {

@Override

public void handleMessage(Message msg)

{

 

}

};

 

별거읍넹.. 이렇게 설정하면 해당 쓰레드의 메시지 큐에 메시지가

존재하는 경우 handleMessage() 메쏘드가 호출된다.

 

switch( msg.what ) {

 

}

 

과 같이 handleMessage() 메쏘드에 메시지 처리루틴을 넣어주면 된다.

 

2. 메시지 만들기

쓰레드마다 메시지큐가 생성되므로, 다른쓰레드에서 위의 핸들러에 메시지를

보내기 위해서는 다른쓰레드에서 위의 handler 객체에 접근가능해야 한다.

 

싱글턴을 사용하던, static 멤버를 사용해 만들던, 위 객체를 접근가능하게 한뒤

메시지를 하나 만든다.

new Message로 만들어도 되나, 매번 객체가 생성되는 단점이 있으므로

핸들러에게 메시지를 하나 달라고 요청하는 방식을 사용한다.

그리고, 해당 메시지를 원하는 값을 설정한다.

 

Message msg = handler.obtainMessage();

msg.what = 1234;

msg.arg1 = 1111;

msg.arg2 = 2222;

msg.object = Object;

 

위를 하나로 처리할 수도 있는데,

Message msg = Message.obtain( handler, 1234, 111, 222 );

 

요렇게 해도 된다.

 

3. 메시지 전송

handler.sendMessage(msg);

 

메시지 전송은 여러 메쏘드 들이 존재한다.


Posted by Kelly Cook
,

 안드로이드에서 전체화면을 사용하기 위해서는 상태바(Status Bar)와 타이틀바(Title Bar)를 숨겨야 합니다. 숨기는 방법은 여러가지가 존재하는데 그 중 몇가지 방법을 정리하도록 하겠습니다.

http://www.androidpub.com/4710


Posted by Kelly Cook
,

http://rsequence.com/android_blog/

열심히 공부해서 우리모두 최고의 안드로이드 개발자가 됩시다. 웃쌰 . 웃쌰 .

Posted by Kelly Cook
,