어플이 어떻게 돌아가는지 알고싶습니다..

정말 죄송하지만 주석좀 부탁드립니다. ㅠ   _   ㅠ


package ex.woojin.exam;


import java.util.*;

import android.app.*;

import android.content.*;

import android.graphics.*;

import android.os.*;

import android.view.*;


public class FreeLine extends Activity {

private MyView vw;

ArrayList<Vertex> list = new ArrayList<Vertex>();


public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

vw = new MyView(this);

setContentView(vw);


}

public class Vertex {

float x;

float y;

boolean Draw;


Vertex(float ax, float ay, boolean ad) {

x = ax;

y = ay;

Draw = ad;

}

}


protected class MyView extends View {

Paint mPaint;


public MyView(Context context) {

super(context);


mPaint = new Paint();

mPaint.setColor(Color.BLACK);

mPaint.setStrokeWidth(5);

mPaint.setAntiAlias(true);

}


public void onDraw(Canvas canvas) {

canvas.drawColor(Color.WHITE);


for (int i = 0; i < list.size(); i++) {

if (list.get(i).Draw) {

canvas.drawLine(list.get(i - 1).x, list.get(i - 1).y,

list.get(i).x, list.get(i).y, mPaint);

}

}

}


public boolean onTouchEvent(MotionEvent event) {

if (event.getAction() == MotionEvent.ACTION_DOWN) {

list.add(new Vertex(event.getX(), event.getY(), false));

return true;

}

if (event.getAction() == MotionEvent.ACTION_MOVE) {

list.add(new Vertex(event.getX(), event.getY(), true));

invalidate();

return true;

}

return false;

}

}

}