안드로이드 개발자 모임 게시판
(글 수 7,950)
간단히 어플 소개를 하자면 음악을 인식후 youtube 동영상을
찾아주는 시나리오입다.
수고하세요~~~
2009.09.16 13:45:35
한가지 질문이있는데요
예로 들면 이런시나리오 인데요..
Activity 에 View( 사용자가 만든 클래스 ) 를 넣어서 그려주다가 해당 View 를 다른 View로 체인지 할경우에 문제인데요.
체인지 시점이 다른 Thread(Network Thread)에서 해야되는데 이때 Exception이 발생하더라구요.
머 당연하다면 당연하겠지만...
이럴경우 Thread에서 Activity나 View쪽에 이벤트를 줘서 Activity나 View쪽에서 체인지 해야될거같은데 어떤이벤트를 주고 또 받아야되는지요? 그럼 즐거운 하루되세요~~~
예로 들면 이런시나리오 인데요..
Activity 에 View( 사용자가 만든 클래스 ) 를 넣어서 그려주다가 해당 View 를 다른 View로 체인지 할경우에 문제인데요.
체인지 시점이 다른 Thread(Network Thread)에서 해야되는데 이때 Exception이 발생하더라구요.
머 당연하다면 당연하겠지만...
이럴경우 Thread에서 Activity나 View쪽에 이벤트를 줘서 Activity나 View쪽에서 체인지 해야될거같은데 어떤이벤트를 주고 또 받아야되는지요? 그럼 즐거운 하루되세요~~~
2009.09.16 14:48:09
안녕하세요. KT 벤처어워드 테마공모 운영자 김태현입니다.
서치뮤직의 멋진 데모 잘 보았습니다. 혹시 KT 에서 벤처어워드의 일환으로 안드로이드 개발자 대회를 진행하고 있는 것을 알고 계신지요? 멋진 어플리케이션 응모해주셔서 수상 뿐만 아니라 커넥서스 전시회에 참여하실 수 있는 기회 가지셨으면 좋겠습니다. http://ktidea.kt.co.kr 에 관련 내용 있으니 확인해 보시고 꼭 응모 부탁드립니다.
아래는 KT 안드로이드 개발자 대회 관련 기사입니다.
http://www.etnews.co.kr/news/detail.html?id=200909110168
2009.09.16 16:40:57
멋지네요.+_+
메인 GUI 쓰레드에서 Background 로 동작하는 쓰레드를 만들어 놓고,
Network 쓰레드에서 메인 GUI 에 있는 Background 쓰레드를 호출하면 해결이 가능합니다.
ps. 리토 마이어의 빨간책이 있다면, [백그라운드 작업자 스레드 이용하기] 쪽을 한번 보세요^^
2009.09.16 18:09:10
private void mainProcessing()
{
// 시간이 많이 드는 작업을 자식 스레드로 옮긴다.
Thread thread = new Thread(null, doBackgroundThreadProcessing, "Background");
thread.start();
}
// 백그라운드 처리 메서드를 실행하는 Runnable.
private Runnable doBackgroundThreadProcessing = new Runnable()
{
public void run()
{
backgroundThreadProcessing();
}
};
// 백그라운드에서 몇 가지 처리를 수행하는 메서드.
private void backgroundThreadProcessing()
{
Log.d("Thread Start", "Thread Start~!");
try
{
//+
// [...시간 소모적인 작업들...]
//-
handler.post(doUpdateGUI);
}
catch (Exception ex)
{
ex.toString();
}
}
// GUI 업데이트 메서드를 실행하는 Runnable.
public Runnable doUpdateGUI = new Runnable()
{
public void run()
{
updateGUI();
}
};
public void updateGUI()
{
// [...다이얼로그를 오픈하거나 GUI 요소를 수정할 수 있다...]
}