AsyncTask 가 은근히 생각해줘야될 부분이 많은데 아직 멀티쓰레드개념이 제대로 안 잡혀서 그런지 어렵네요

지속적으로 여기 관련되어 질문을 올리는 것에 대해서 대단히 죄송스럽게 생각됩니다.


실질적으로 AsyncTask 를 사용하게 된 계기가, 웹에 존재하고 있는 Text와 mp3 파일을 sdcard에 저장을 하고

그것을 바탕으로 하여 Textview와 mp3를 재생하기 위함입니다.


하지만 안드로이드에서 웹에 있는 자료를 접근하기 위해서 AsyncTask를 사용하게 되었습니다.

AsyncTask가 끝나고 나서 이제 mp3 파일을 재생을 해야하는데


GetContentsBackGround back = new GetContentsBackGround(this,title);

        back.execute("http://203.255.3.248/test2.php?title=");


        Thread.sleep(10);

        title = title.replace("[*:/?*<>]{1}", "") + ".mp3";

        

        String absolutePath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();

        String path = absolutePath + "/todayWord/" + title;

        

        MediaPlayer mMediaPlayer = new MediaPlayer();

        try{

        FileInputStream fis = new FileInputStream(path);

        FileDescriptor fd = fis.getFD();

       mMediaPlayer.setDataSource(fd);  // path 에 mp3 파일 경로

       mMediaPlayer.prepare();

       mMediaPlayer.start();

        }catch(Exception e){

        System.out.println(e);

        }


다음과 같이 하였을 경우 AsyncTask 가 백그라운드로 돌아가고, 바로 mp3 부분이 실행으로 넣어가는 바람에 제대로 재생이 안되는 부분이 있습니다. 이러한 경우 어떤식으로 AsyncTask 가 끝났는지 체크를 하고 다음으로 넘어가는지 궁금합니다