Hi All,

I am developing one application in which i want to paint using
accelerometer sensor, this is my code,

this is my drawmainactivity


package com.drawline;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

public class DrawMainActivity extends Activity {

        DrawlineActivity drawView;
            @Override
        protected void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);

        // Set full screen view
 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
 
WindowManager.LayoutParams.FLAG_FULLSCREEN);
        requestWindowFeature(Window.FEATURE_NO_TITLE);

        drawView = new DrawlineActivity(this);
        setContentView(drawView);
        drawView.requestFocus();
            }




        }


This is the code in which i am trying to paint

package com.drawline;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.shapes.ArcShape;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.LinearLayout;

public class DrawlineActivity extends View implements
SensorEventListener {
        private static final String TAG = "DrawView";
float startx=40,starty=40,oldx,oldy,x,y;
    List<Point> points = new ArrayList<Point>();
    Paint paint = new Paint();
SensorManager mSensorManager;
    public DrawlineActivity(Context context) {
        super(context);
        setFocusable(true);
        setFocusableInTouchMode(true);

        mSensorManager =
(SensorManager)context.getSystemService(context.SENSOR_SERVICE);
mSensorManager.registerListener(this,
 
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
               SensorManager.SENSOR_DELAY_NORMAL);
        paint.setColor(Color.WHITE);
        paint.setAntiAlias(true);
    }

    @Override
    public void onDraw(Canvas canvas) {
        for (Point point : points) {
            canvas.drawCircle(point.x+100,  point.y +100, 5, paint);


            //canvas.drawLine(startx,starty, startx,starty, paint);
            // Log.d(TAG, "Painting: "+point);
            Log.d("SANDEEP", "Inside ondraw " + point.x+ point.y);
        }
    }

//    public boolean onTouch(View view, MotionEvent event) {
//        // if(event.getAction() != MotionEvent.ACTION_DOWN)
//        // return super.onTouchEvent(event);
//        Point point = new Point();
//        point.x = event.getX();
//        point.y = event.getY();
//        points.add(point);
//        invalidate();
//        Log.d(TAG, "point: " + point);
//        return true;
//    }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
                // TODO Auto-generated method stub

        }

        @Override
        public void onSensorChanged(SensorEvent event) {
                // TODO Auto-generated method stub
                Point point = new Point();

                point.x= event.values[0] *5;
        point.y  = event.values[1]*5;


     //   point.x=(int) (x + point.x);
       //  point.y= (int) (y+ point.y);
        points.add(point);
        invalidate();
        Log.d(TAG, "point: " + startx + starty);
      //  startx= startx + oldx;
      //  starty = starty + oldy;
        oldx = startx;
    oldy = starty ;
        }
        }


class Point {
    float x=40, y=40;

    @Override
    public String toString() {
        return x + ", " + y;
    }
}

Can anyone of you please correct it what i am doing wrong.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to