본문 바로가기
Development/Android

AsyncTask onPostExecute 결과값 onCreate문으로 가져오기

by 메정 2020. 2. 11.

현재 phpmyadmin서버와 안드로이드가 연동된 상태!이기 때문에 AsyncTask를 이용하여 해당 서버에 있는 데이터베이스 값을 가져온다.

onPostExecute에 코딩한 결과가 뜨는데 나는 onCreate로 데려오고 싶었다! 


onPostExecute함수가 현재 void이기 때문에 결과가 자동으로 넘어갈 것이라 생각했는데 아니였다! 

클래스.execute(인자 **인자가 있을경우**).get() 을 하면 doInBackground의 결과가 자동으로 들어간다!

우리가 작업중인 어플의 경우 메인액티비티에서 AsyncTask에서 어떤 동작을 실행하냐면 userId와 userPwd를 데려와 일치하는 db 테이블의 값을 가져오는 것이다!


나의 경우, result는 전역변수로 올려놓았고, phpdo클래스의 객체는 task라는 이름으로 선언해두었다! 그래서!!!

result = task.execute(userId, userPwd).get();

이렇게 했더니 데려왔다! ㅠㅠ 감동적..


결론, .get() 을 붙이면 값을 가져올 수 있다는 것.

asynctask.get()은 UI 쓰레드에 슬립을 걸어주고 받아오는 코드라고 한다!


댓글