마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

스레드 ui 처리 질문입니다.

0 추천

1. 인터페이스

pulbic interface IClientListener

{

private void OnConnetd();

private void OnDisconnecte();

}

 

 

2. 스레드를 상속받은 클래스

public Client extend Thread implement Runnable

{

private IClientListener _iClientListener = null;

 

public void SetClientEventListener(IClientEventListener listener)

{

this. _iClientListener  = listener;

}

pulic void run()

{

while(true)

{

// 소켓 연결 성공 이벤트 발생

_iClientListener.OnConnected();

}

}

}

 

3. 메인 액티비티

public class MainActivity extends Activity implement IClientListener

{

onCreate

{
Client client = new Client();

client.SetClientListener(this);

}

 

public void OnConneted()

{

// 이벤트 발생 UI 처리

}

}

 

------------------------

다음과 같은 구조로 만들어져 있는데

메인액티비티에서 onConneted()가 발생하는 것을 확인하였습니다만

스레드 쪽에서 돌다보니 ui처리에서 고민이 되는군요

그렇다고 ui 처리를 할때마다 매번 메인 액티비티에서

runOnUiThread()를 처리해주기도 그렇드라구요...

위와 같은 소스 구조에서 메인 액티비티에서 runOnUiThread()를 사용하지 않고

Client 측에서 UI 처리를 할수있도록 할 수 있는 방법은 없는건가요?

 

꿈꾸는쭌 (1,130 포인트) 님이 2015년 11월 2일 질문

1개의 답변

0 추천
Handler 를 이용하여 message 방식을 이용하실 수 있습니다.
Darklake (720 포인트) 님이 2015년 11월 2일 답변
OnClickListener 처럼 구현을 하고싶은데 메시지 전달방식으로 하면 메인 액티비티에서도 스레드를 구현해야되지않나요?
...