Click here to Skip to main content
15,891,847 members
Home / Discussions / Mobile
   

Mobile

 
QuestionPDA Serail Number Pin
Amr M. K.20-Nov-10 19:23
Amr M. K.20-Nov-10 19:23 
AnswerRe: PDA Serail Number Pin
KingsGambit21-Nov-10 16:54
KingsGambit21-Nov-10 16:54 
GeneralRe: PDA Serail Number Pin
Amr M. K.23-Nov-10 2:07
Amr M. K.23-Nov-10 2:07 
GeneralBest tutorials for Windows Phone 7 Pin
raju melveetilpurayil18-Nov-10 13:10
professionalraju melveetilpurayil18-Nov-10 13:10 
GeneralRe: Best tutorials for Windows Phone 7 Pin
KingsGambit22-Nov-10 17:04
KingsGambit22-Nov-10 17:04 
GeneralRe: Best tutorials for Windows Phone 7 Pin
PavanPareta23-Nov-10 23:05
PavanPareta23-Nov-10 23:05 
QuestionIP Camera video in .NET CF app. Pin
koleraba15-Nov-10 4:37
koleraba15-Nov-10 4:37 
QuestionAndroid TestSensor Pin
Smaini Nurbs14-Nov-10 16:22
Smaini Nurbs14-Nov-10 16:22 
Hi,

I need some help. My programme doesn't show the value of the sensor movement. There's no error in the code. So I'm not sure what to do. Thanks in advance.


[code]package com.example.testsensors;

import com.example.testsensors.ChronometerDemo1;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorManager;
import android.hardware.SensorListener;
import android.util.Log;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;

/**
 * <h3>Application that displays the values of the acceleration sensor graphically.</h3>

<p>This demonstrates the {@link android.hardware.SensorManager android.hardware.SensorManager} class.

<h4>Demo</h4>
OS / Sensors
 */

public class TestSensors extends ChronometerDemo1 {
    /** Tag string for our debug logs */
    private static final String TAG = "Sensors";

    private SensorManager mSensorManager;
    private GraphView mGraphView;

    private class GraphView extends View implements SensorListener
    {
        private Bitmap  mBitmap;
        private Paint   mPaint = new Paint();
        private Canvas  mCanvas = new Canvas();
        private Path    mPath = new Path();
        private RectF   mRect = new RectF();
        private float   mLastValues[] = new float[3*2];
        private float   mOrientationValues[] = new float[3];
        private int     mColors[] = new int[3*2];
        private float   mLastX;
        private float   mScale[] = new float[2];
        private float   mYOffset;
        private float   mMaxX;
        private float   mSpeed = 1.0f;
        private float   mWidth;
        private float   mHeight;

        public GraphView(Context context) {
            super(context);
            mColors[0] = Color.argb(192, 255, 64, 64);
            mColors[1] = Color.argb(192, 64, 128, 64);
            mColors[2] = Color.argb(192, 64, 64, 255);
            mColors[3] = Color.argb(192, 64, 255, 255);
            mColors[4] = Color.argb(192, 128, 64, 128);
            mColors[5] = Color.argb(192, 255, 255, 64);

            mPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
            mRect.set(-0.5f, -0.5f, 0.5f, 0.5f);
            mPath.arcTo(mRect, 0, 180);
        }

        @Override
        protected void onSizeChanged(int w, int h, int oldw, int oldh) {
            mBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.RGB_565);
            mCanvas.setBitmap(mBitmap);
            mCanvas.drawColor(0xFFFFFFFF);
            mYOffset = h * 0.5f;
            mScale[0] = - (h * 0.5f * (1.0f / (SensorManager.STANDARD_GRAVITY * 2)));
            mScale[1] = - (h * 0.5f * (1.0f / (SensorManager.MAGNETIC_FIELD_EARTH_MAX)));
            mWidth = w;
            mHeight = h;
            if (mWidth < mHeight) {
                mMaxX = w;
            } else {
                mMaxX = w-50;
            }
            mLastX = mMaxX;
            super.onSizeChanged(w, h, oldw, oldh);
        }

        @Override
        protected void onDraw(Canvas canvas) {
            synchronized (this) {
                if (mBitmap != null) {
                    final Paint paint = mPaint;
                    final Path path = mPath;
                    final int outer = 0xFFffff00;
                    final int inner = 0xFFcd5c5c;

                    if (mLastX >= mMaxX) {
                        mLastX = 0;
                        final Canvas cavas = mCanvas;
                        final float yoffset = mYOffset;
                        final float maxx = mMaxX;
                        final float oneG = SensorManager.STANDARD_GRAVITY * mScale[0];
                        paint.setColor(0xFFAAAAAA);
                        cavas.drawColor(0xFFFFFFFF);
                        cavas.drawLine(0, yoffset,      maxx, yoffset,      paint);
                        cavas.drawLine(0, yoffset+oneG, maxx, yoffset+oneG, paint);
                        cavas.drawLine(0, yoffset-oneG, maxx, yoffset-oneG, paint);
                    }
                    canvas.drawBitmap(mBitmap, 0, 0, null);

                    float[] values = mOrientationValues;
                    if (mWidth < mHeight) {
                        float w0 = mWidth * 0.333333f;
                        float w  = w0 - 32;
                        float x = w0*0.5f;
                        for (int i=0 ; i<3 ; i++) {
                            canvas.save(Canvas.MATRIX_SAVE_FLAG);
                            canvas.translate(x, w*0.5f + 4.0f);
                            canvas.save(Canvas.MATRIX_SAVE_FLAG);
                            paint.setColor(outer);
                            canvas.scale(w, w);
                            canvas.drawOval(mRect, paint);
                            canvas.restore();
                            canvas.scale(w-5, w-5);
                            paint.setColor(inner);
                            canvas.rotate(-values[i]);
                            canvas.drawPath(path, paint);
                            canvas.restore();
                            x += w0;
                        }
                    } else {
                        float h0 = mHeight * 0.333333f;
                        float h  = h0 - 32;
                        float y = h0*0.5f;
                        for (int i=0 ; i<3 ; i++) {
                            canvas.save(Canvas.MATRIX_SAVE_FLAG);
                            canvas.translate(mWidth - (h*0.5f + 4.0f), y);
                            canvas.save(Canvas.MATRIX_SAVE_FLAG);
                            paint.setColor(outer);
                            canvas.scale(h, h);
                            canvas.drawOval(mRect, paint);
                            canvas.restore();
                            canvas.scale(h-5, h-5);
                            paint.setColor(inner);
                            canvas.rotate(-values[i]);
                            canvas.drawPath(path, paint);
                            canvas.restore();
                            y += h0;
                        }
                    }

                }
            }
        }

        public void onSensorChanged(int sensor, float[] values) {
            //Log.d(TAG, "sensor: " + sensor + ", x: " + values[0] + ", y: " + 
        	//values[1] + ", z: " + values[2]);
            synchronized (this) {
                if (mBitmap != null) {
                    final Canvas canvas = mCanvas;
                    final Paint paint = mPaint;
                    if (sensor == SensorManager.SENSOR_ORIENTATION) {
                        for (int i=0 ; i<3 ; i++) {
                            mOrientationValues[i] = values[i];
                        }
                    } else {
                        float deltaX = mSpeed;
                        float newX = mLastX + deltaX;

                        int j = (sensor == SensorManager.SENSOR_MAGNETIC_FIELD) ? 1 : 0;
                        for (int i=0 ; i<3 ; i++) {
                            int k = i+j*3;
                            final float v = mYOffset + values[i] * mScale[j];
                            paint.setColor(mColors[k]);
                            canvas.drawLine(mLastX, mLastValues[k], newX, v, paint);
                            mLastValues[k] = v;
                        }
                        if (sensor == SensorManager.SENSOR_MAGNETIC_FIELD)
                            mLastX += mSpeed;
                    }
                    /*Toast.makeText//Make a standard toast that just contains a text view
        		    (getBaseContext()//It returns the reference to the current object.
        		    		, "Accelerometer\n" + "X-axis: " + mSpeed + "\n" + "Y-axis: " + mSpeed, Toast.LENGTH_SHORT//Show the view or text notification for a short period of time.
        		    		).show();*/
                    invalidate();
                    //onAccuracyChanged(sensor, sensor);
                }
            }
        }
        
        //@Override
        public void onSensorChanged(SensorEvent event, int sensor, int accuracy) {
            // TODO Auto-generated method stub
        	StringBuffer buff = new StringBuffer();
        	if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
                buff.append("ACCELEROMETER\n");
                buff.append("X-axis: ").append(event.values[0]).append("\n");
                buff.append("Y-axis: ").append(event.values[1]).append("\n");
                buff.append("Z-axis: ").append(event.values[2]).append("\n");
                TextView tv = (TextView) findViewById(R.id.accero_counters);
                tv.setText(buff.toString());
                
                Toast.makeText//Make a standard toast that just contains a text view
    		    (getBaseContext()//It returns the reference to the current object.
    		    		, "Accelerometer\n" + "X-axis: " + event.values[0] + "\n" + "Y-axis: " + event.values[1], Toast.LENGTH_SHORT//Show the view or text notification for a short period of time.
    		    		).show();
                
                //MyDialog dialog = new MyDialog("Hello"); 
                //dialog.show();
        }

        }

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

		
    }

    /**
     * Initialization of the Activity after it is first created.  Must at least
     * call {@link android.app.Activity#setContentView setContentView()} to
     * describe what is to be displayed in the screen.
     */
    @Override
	public void onCreate(Bundle savedInstanceState) {
        // Be sure to call the super class.
        super.onCreate(savedInstanceState);

        mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        mGraphView = new GraphView(this);
        setContentView(mGraphView);
    }

    @Override
    protected void onResume() {
        super.onResume();
        mSensorManager.registerListener(mGraphView, 
                SensorManager.SENSOR_ACCELEROMETER | 
                SensorManager.SENSOR_MAGNETIC_FIELD | 
                SensorManager.SENSOR_ORIENTATION,
                SensorManager.SENSOR_DELAY_FASTEST);
    }

    @Override
    protected void onStop() {
        mSensorManager.unregisterListener(mGraphView);
        super.onStop();
    }
}[/code]

QuestionCall Class Pin
Smaini Nurbs13-Nov-10 1:08
Smaini Nurbs13-Nov-10 1:08 
AnswerRe: Call Class Pin
Smaini Nurbs13-Nov-10 1:09
Smaini Nurbs13-Nov-10 1:09 
GeneralVross post warning!! Pin
Peter_in_278013-Nov-10 9:51
professionalPeter_in_278013-Nov-10 9:51 
QuestionAndriod Development using Eclipse Pin
hussain.attiya7-Nov-10 0:55
hussain.attiya7-Nov-10 0:55 
AnswerRe: Andriod Development using Eclipse Pin
hussain.attiya7-Nov-10 1:12
hussain.attiya7-Nov-10 1:12 
QuestionAndroid Stopwatch *Urgent Help* Pin
Smaini Nurbs5-Nov-10 0:40
Smaini Nurbs5-Nov-10 0:40 
AnswerRe: Android Stopwatch *Urgent Help* Pin
Gerben Jongerius5-Nov-10 2:59
Gerben Jongerius5-Nov-10 2:59 
GeneralRe: Android Stopwatch *Urgent Help* Pin
Smaini Nurbs7-Nov-10 2:41
Smaini Nurbs7-Nov-10 2:41 
QuestionAndroid Mobile App *Help needed!* Pin
Smaini Nurbs4-Nov-10 16:20
Smaini Nurbs4-Nov-10 16:20 
AnswerRe: Android Mobile App *Help needed!* Pin
Sarvesvara (BVKS) Dasa20-Nov-10 17:04
Sarvesvara (BVKS) Dasa20-Nov-10 17:04 
QuestionGUI design in MIDP 2.0 Pin
trioum2-Nov-10 2:52
trioum2-Nov-10 2:52 
Questionsql server connection Pin
mersad002-Nov-10 1:21
mersad002-Nov-10 1:21 
AnswerRe: sql server connection Pin
Stryder_12-Nov-10 3:23
Stryder_12-Nov-10 3:23 
GeneralRe: sql server connection Pin
RaviRanjanKr14-Nov-10 18:26
professionalRaviRanjanKr14-Nov-10 18:26 
Questionrecording phone Pin
2_Raptor_21-Nov-10 22:34
2_Raptor_21-Nov-10 22:34 
Questionhow to handle key events in Pocket Internet Pin
Rahul Chitte26-Oct-10 22:22
Rahul Chitte26-Oct-10 22:22 
QuestionMobile Web Application Pin
Civic0625-Oct-10 16:24
Civic0625-Oct-10 16:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.