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

스레트에 문자열변수를 집어 넣고 싶습니다.

0 추천
String gps_ed_str;

Thread thread = new Thread(new Runnable()
{
    @Override
    public void run()
    {

        Log.d("FTP_좌표","gps_str 값은  " + gps_ed_str);

    }

}

 스레트 에  " String gps_ed_str " 값을 받고 싶은데  
혹시 어떠게 해야 하는지 알수있을까요
String gps_ed_str;
엔트2 (140 포인트) 님이 2021년 3월 7일 질문
질문이 앞뒤의 설명이 없고 딱 본론만 있어서 뭐를 원하시는지 알 수가 없네요. 그리고 스레트가 아니고 Thread, 쓰레드라고 부릅니다.
혹 thread의 처리 결과 값을 외부에서 받으시려고 하는 거면 Callback 을 사용하시면 됩니다.



public class LocationUseCase {
  
   interface Callback() {
      void onLocalReceived(String location);
   }


   public LocationUseCase {
         this.callback = callback;
   }
  
   public void getLocation(Callback callback) {
       
new Thread(new Runnable()
{
    @Override
    public void run()
    {
        callback.onLocalReceived(gps_ed_str);
    }

}.start();
    
   }

}


new LocationUseCase()).getLocation( location -> {
    Log.d("FTP_좌표","gps_str 값은  " + gps_ed_str);
});


혹 콜백이 Ui Thread에서 동작을 해야 한다면 콜백 호출을 Ui 쓰레드로 전환하셔야 합니다.
new Handler(Looper.getMainLooper()).post {
    callback.onLocalReceived(gps_ed_str);
}

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...