안녕하세요 서버로부터 음악파일을 전송받아 플레이해주는 프로그램을 만들고 있습니다.
담주 수요일까지 완성을 해야하는데 난관에 봉착했습니다.
고수님들 도와주세요 (__)

전체적인 구조를 설명 드리겠습니다.

Main  ->  List  ->  Player

1.  -  처음 Main.java 에서 IP와 Port번호를 입력받습니다.
     -   List.java 에 있는 connecting 메소드를 불러 아이피와 포트번호를 전달합니다.
     -  startActivity메소드로 List.java 로 넘어가고 Main.java는 할일을 다 하게 됩니다.

2.   -   List.java 에는 소켓과 ArrayList와 몇몇 변수가 static으로 구현되어있습니다.
     -  서버로 부터 파일이름을 수신받아 ArrayList에 저장한 후 ArrayAdepter를 통해 리스트뷰에 뿌려줍니다.
     -  onListItemClick 메소드로 노래 이름을 클릭하면
     -  startActivity메소드로 Player.java로 넘어가고 List.java는 할일을 다 하게? 됩니다.;;

3.   -  Player.java 으로 넘어와서 실제 음악 전송과 플레이를 하는 다른 패키지인 StreamingMediaPlayer.java 클래스안의
        startStreamingAudio() 메소드를 호출합니다.
     -  그리고 음악 재생의 콘트롤과 관련된 메소드들이 구현 되어야 합니다..ㅠ

**   -  StreamingMediaPlayer.java 안에는 처음에 thread에서 List.java에서 클릭한 파일이름을 서버로 전송하고
        서버에서는 그 파일을 클라이언트로 전송합니다.
     -  다운 받으면서!! 재생을 하기 위해 처음 재생가능함을 검사하고 재생한 다음에~
       중간에 끊김을 방지하기 위해 또 thread를 만들어 버퍼검사를 해서 재생가능 유뮤를 체크합니다.
     -  프로그램의 직관성을 위해 프로그래시브바 로 재생 게이지와 다운 게이지를 보여주기위해
       thread를 사용하여 업데이트를 해 줍니다.

이상 전체적인 구조입니다.

지금 구현이 필요한 부분이 이전곡, 다음곡, 목록보기, 종료 입니다.

에뮬레이터의 뒤로가기 버튼으로 Player에서 List로 갈경우 재생이 파일 다운 이후 버퍼검사하고 이루어 지기 때문에

백그라운드에서 돌기 때문에 음악이 나오는것은 멈추지 않습니다. 좋습니다.

그러나 여기서 다른 곡을 클릭 할 시 문제 입니다.
11-26 12:59:06.421: ERROR/android.TCP.StreamingMediaPlayer$1(649): Unable to initialize the MediaPlayer for fileUrl=
11-26 12:59:06.421: ERROR/android.TCP.StreamingMediaPlayer$1(649): java.net.SocketException: Socket is closed
11-26 12:59:06.421: ERROR/android.TCP.StreamingMediaPlayer$1(649):     at org.apache.harmony.luni.net.PlainSocketImpl.getOutputStream(PlainSocketImpl.java:307)
11-26 12:59:06.421: ERROR/android.TCP.StreamingMediaPlayer$1(649):     at java.net.Socket.getOutputStream(Socket.java:514)
11-26 12:59:06.421: ERROR/android.TCP.StreamingMediaPlayer$1(649):     at android.TCP.StreamingMediaPlayer$1.run(StreamingMediaPlayer.java:64)
11-26 12:59:06.421: ERROR/android.TCP.StreamingMediaPlayer$1(649):     at java.lang.Thread.run(Thread.java:1096)

다음과 같은 에러가 나옵니다.
소켓이 닫혔다고 나온걸 보면 서버쪽 문제인것 같은데 서버는 아무리봐도 문제가 될게 없어 보입니다.
서버는 반복적으로 파일을 전송해 줍니다,

이처럼 처음 재생곡을 받고 재생중 뒤로버튼으로 뒤로가서 다른곡을 클릭하면 위와 같은 에러가 보이고
이상태에서 mediaplay.pause로 일시정지 버튼을 눌리면 이런 에러가 뜹니다.
11-26 12:59:27.301: ERROR/AndroidRuntime(649): Uncaught handler: thread main exiting due to uncaught exception
11-26 12:59:27.321: ERROR/AndroidRuntime(649): java.lang.NullPointerException
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.MusicPlayer.Player$1.onClick(Player.java:49)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.View.performClick(View.java:2364)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.View.onTouchEvent(View.java:4179)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.View.dispatchTouchEvent(View.java:3709)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:882)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1690)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.os.Handler.dispatchMessage(Handler.java:99)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.os.Looper.loop(Looper.java:123)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at android.app.ActivityThread.main(ActivityThread.java:4310)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at java.lang.reflect.Method.invokeNative(Native Method)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at java.lang.reflect.Method.invoke(Method.java:521)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
11-26 12:59:27.321: ERROR/AndroidRuntime(649):     at dalvik.system.NativeStart.main(Native Method)


며칠 안에 원활한 액티비티 전환(목록보기와 재생의전환)과 이전곡 다음곡, 종료버튼을 구현해야하는데요

액티비티 생명주기와 액티비티의정보를 저장하는 메소드들을 써보고 있는데 명확한 답을 모르겠습니다. ㅠㅠ

간절히 도움의 손길을 원하고 있습니다, 어린 양에게 힘을 주세요 ㅠㅠ;;;

이상 긴글 읽어주셔서 감사합니다.