===== main =====
	 
	import android.app.Activity;
	import android.os.Bundle;
	import android.view.View;
	import android.view.View.OnClickListener;
	import android.widget.Button;
	 
	public class MainActivity extends Activity
	{
	    Character character;
	 
	    protected void onCreate( Bundle savedInstanceState )
	    {
	        super.onCreate( savedInstanceState );
	        setContentView( R.layout.activity_main );
	 
	        character = (Character)findViewById( R.id.character );
	 
	        Button btnLeft = (Button)findViewById( R.id.btnLeft );
	        btnLeft.setOnClickListener( new OnClickListener()
	        {
	 
	            public void onClick( View v )
	            {
	                character.move( -1 );
	            }
	        } );
	 
	        Button btnRight = (Button)findViewById( R.id.btnRight );
	        btnRight.setOnClickListener( new OnClickListener()
	        {
	 
	            public void onClick( View v )
	            {
	                character.move( 1 );
	            }
	        } );
	    }
	}
	 
	 
	===== Character =====
	 
	
		import android.content.Context;
	
		import android.graphics.Bitmap;
	
		import android.graphics.BitmapFactory;
	
		import android.graphics.Canvas;
	
		import android.graphics.Paint;
	
		import android.util.AttributeSet;
	
		import android.view.Display;
	
		import android.view.View;
	
		import android.view.WindowManager;
	
		 
	
		public class Character extends View
	
		{
	
		    Paint  paint;
	
		    Bitmap bitmap;
	
		    int    X;
	
		    int    sw; // 스크린넓이
	
		    int    c; // 이미지 넓이의 절반
	
		 
	
		    public Character( Context context, AttributeSet attrs )
	
		    {
	
		        super( context, attrs );
	
		 
	
		        WindowManager wm = (WindowManager)context.getSystemService( Context.WINDOW_SERVICE );
	
		        Display display = wm.getDefaultDisplay();
	
		        sw = display.getWidth();
	
		 
	
		        bitmap = BitmapFactory.decodeResource( getResources(), R.drawable.ball );
	
		        c = bitmap.getWidth() / 2;
	
		        X = sw/ 2; // 초기 X값을 구한다. (가운데)
	
		    }
	
		 
	
		    @Override
	
		    protected void onDraw( Canvas canvas )
	
		    {
	
		        super.onDraw( canvas );
	
		        canvas.drawBitmap( bitmap, ( X - c ), 0, paint );
	
		        invalidate();
	
		    }
	
		 
	
		    public void move( int d )
	
		    {
	
		        int dx = X + ( 30 * d ); // 왼쪽은 마이너스, 오른쪽은 플러스 
	
		 
	
		        if ( dx > c && dx < ( sw - c ) )
	
		        {
	
		            X = dx;
	
		        }
	
		 
	
		    }
	
		}
 
	 
	 
	===============
	move 부분을 더 연구해보세요.