@@ -0,0 +1,1138 @@
+package com.ardrumoid.surface;%0A%0Aimport com.ardrumoid.data.PlayMusicData;%0A%0Aimport android.content.Context;%0Aimport android.util.Log;%0Aimport android.view.SurfaceHolder;%0Aimport android.view.SurfaceView;%0A%0Apublic class GameView extends SurfaceView implements SurfaceHolder.Callback %7B%0A%0A%09private static final String LOG_TAG = %22GameView%22;%0A%09%0A%09private SurfaceHolder mHolder;%0A%09private GameThread mThread;%0A    private PlayMusicData mData;%0A%09%0A%09public GameView(Context context, PlayMusicData data) %7B%0A%09%09super(context);%0A%09%09mHolder = getHolder();%0A%09%09mHolder.addCallback(this);%0A%09%09this.mData = data;%0A%09%7D%0A%0A%09@Override%0A%09public void surfaceCreated(SurfaceHolder holder) %7B%0A%09%09Log.d(LOG_TAG, %22surfaceCreated%22);%0A%09%09mThread = new GameThread(mHolder);%0A%09%09mThread.start();%0A%09%7D%0A%0A%09@Override%0A%09public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) %7B%0A%09%09Log.d(LOG_TAG, %22surfaceCreated%22);%0A%09%7D%0A%0A%09@Override%0A%09public void surfaceDestroyed(SurfaceHolder holder) %7B%0A%09%09Log.d(LOG_TAG, %22surfaceDestroyed%22);%0A        %0A%09%09mThread.setLoop(false);%0A%0A        try %7B%0A        %09mThread.join();%0A        %7D catch (Exception e) %7B%0A            e.getStackTrace();%0A        %7D%0A%09%09%0A%09%7D%0A%0A%7D%0A

Create GameView.java