한빛미디어 사이트에 오픈되어있는 예제에

AndroidExam 프로젝트 예제에 첨부 되있는

exam.Input 패키지에 FreeLine.java 에 보면

자유곡선을 그리는 예제인데..

이것도 마찬가지로 모든 그리기 예제가 마찬가지로 Layout을 사용하지 않고 canvas에서만

그리는 방식으로 구현 되어 있습니다.

이것을 Layout에 View를 하나 만들어 id를 정의 해주고 View의 id값을 참조하여 그 참조한 id값으로 View위에서만 그리기가 가능한

이 예제의 그리기 기능을 적용 시키기 위해서 도데체 어떻게 구현 해야 되는걸까요 ㅠ_ㅠ

package exam.Input;

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> arVertex;
 
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        vw = new MyView(this);
        setContentView(vw);

        arVertex = new ArrayList<Vertex>();
    }

    // 정점 하나에 대한 정보를 가지는 클래스
 public class Vertex {
  Vertex(float ax, float ay, boolean ad) {
   x = ax;
   y = ay;
   Draw = ad;
  }
  float x;
  float y;
  boolean Draw;
 }
 
    protected class MyView extends View {
     Paint mPaint;

     public MyView(Context context) {
         super(context);
        
         // Paint 객체 미리 초기화
   mPaint = new Paint();
   mPaint.setColor(Color.BLACK);
   mPaint.setStrokeWidth(3);
   mPaint.setAntiAlias(true);
     }

     public void onDraw(Canvas canvas) {
   canvas.drawColor(0xffe0e0e0);
   
   // 정점을 순회하면서 선분으로 잇는다.
   for (int i=0;i<arVertex.size();i++) {
    if (arVertex.get(i).Draw) {
     canvas.drawLine(arVertex.get(i-1).x, arVertex.get(i-1).y,
       arVertex.get(i).x, arVertex.get(i).y, mPaint);
    }
   }
  }

     // 터치 이동시마다 정점들을 추가한다.
     public boolean onTouchEvent(MotionEvent event) {
      if (event.getAction() == MotionEvent.ACTION_DOWN) {
       arVertex.add(new Vertex(event.getX(), event.getY(), false));
       return true;
      }
      if (event.getAction() == MotionEvent.ACTION_MOVE) {
       arVertex.add(new Vertex(event.getX(), event.getY(), true));
       invalidate();
       return true;
      }
      return false;
     }
 }
}

개발자님들 도와주세요 ㅠ_ㅠ