public class DrawLine extends View{
 
 Main main;
 Canvas canvas;
 public DrawLine(Context context){
  super(context);
 }
 public Canvas Draw()
    {
  main.setData();
     canvas.drawColor(Color.BLACK);
     Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
     mPaint.setColor(Color.WHITE);
     mPaint.setTextSize(10);
     canvas.drawText(main.contactName[0], 0, 50, mPaint);
     mPaint.setColor(Color.GREEN);
     mPaint.setStrokeWidth(10);
     canvas.drawLine(35,48,main.comparedString[0]*50,48,mPaint);
     return canvas;
    }
 public void onDraw(Canvas Canvas)
 {
  
 }
}

//메인 클래스 부분입니다.
public class Main extends Activity
{  
 Cursor contactCursor;
 Cursor callLogCursor;
 String[] contactName;
 String[] callLogName;
 int[] comparedString;
 int legthContact;
 int legthCallLog;
 Button button;
 DrawLine line;
 
    
 @Override
 public void onCreate(Bundle savedInstanceState) 
 {
  super.onCreate(savedInstanceState);  
  setContentView(R.layout.main);
  setData();
  Canvas canvas = line.Draw();
  line.onDraw(canvas);
  setContentView(line);
  //DrawLine line = new DrawLine(this);
       
  Log.d("A","OK");
  //line.onDraw(canvas,contactName, comparedString);
  //setContentView(line);
  Log.d("A","OK");
  
  for(int i = 0; i < contactName.length; i++)
  {
   Log.d("name", "contactName["+i+"]"+ contactName[i]);
  }
  for(int i = 0; i < callLogName.length; i++)
  {
   Log.d("name", "callLogName["+i+"]"+ callLogName[i]);
  }  
  for(int i = 0; i < comparedString.length; i++)
  {
     Log.d("name", "comparedString["+i+"]"+ comparedString[i]);
  }
   
 }
 
 protected void setData()
 {
  contactCursor = getContactData();
  callLogCursor = getCallLog();
  contactName = getContactName(contactCursor);
  callLogName = getCallLogName(callLogCursor); 
  comparedString = compareString(contactName, callLogName);
 }




제가 질문 드리는것은 전화 목록을 불러와서 최근 통화목록과 비교한후에 그래프로 표시하는 것을

Canvas 를 이용하여서 그리려고 합니다.

궁금한게 있는데 onCreate에서는 Canvas를 이용하여 그릴수가 없는지 그리고 데이터를 받아와서 변경 하고 싶은데 어떻게 해야될지

조언을 부탁드림니다.

소스는 밑에 보시는대로 있습니다.