본문 바로가기
IT기술(코딩)

안드로이드 스튜디오, 자바 Thread 완료될때까지 대기 (로딩중) Runnable 을 Thread로 바꾸어 사용하세요~

by 크리에이트매이커 2021. 8. 24.
반응형

안녕하세요 여러분.~~

오늘은 안드로이드 스튜디오 코딩중 필요한 Thread 에 대해 설명할게요.

Thread는 안드로이드 스듀티오에서 필수적으로 사용하는데요. 이유는 안스는 메인엑티비티에서 무조건 1개의 Thread만 사용할수 있게 돼있어서, 추가로 사용하기 위해서는 Thread를 따로 선언해 줘야해요.

예를들어 서버에 접속한다든지, 구글멥에서 실시간 마커를 표시해야된다던지 등등, 새로운 Thread가 필요한 상황에서는 항상 Thread를 선어해 줘야하죠.

 

이때, Thread를 사용하여 서버에 접속할때, 데이터를 가져오는 시간이 있을거아니에요? 그럴때, 엑티비티 표출시간과 데이터를 가져오는 시간이 맞지 않으면 빈엑티비티가 표출이 될 수 가 있어요. 이럴때 사용하는 소스코드가 thread.join() 이라는 함수입니다. 

 

바로 예시 들어갈게요.

Thread datathread = new Thread(){
            @Override
            public void run(){
                     
            }
        };
        datathread.start();
        try {
            datathread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

저렇게 복붙하시고 run() 안에 원하는 이벤트를 넣으시면 돼여. 서버나, 뭐 Thread를 필요로 하는 이벤트요.

그럼 datathread 작업이 끝날때 까지 로딩?을 할거에요. 물론 로딩 이미지를 구현하지 않았다면 멈춰있는 듯한 느낌이 들겠죠?

 

아~ 중요한거 !!

저 함수를 어디에 복붙을 하냐면, onCreate함수 안에 하시면 돼여. 적당한 위치에.

물론 Thread를 이용하는 방법은 비동기식으로 onCreate 밖에 async로 해도 되지만 저런 방법도 있다는점 ~

 

그럼 행복코딩 하세요~

피드백은 행복!

반응형