Practical 22
Practical 22
Practical 22
IX. Exercise:
MainActivity.java
package com.example.sensor2;
import
androidx.appcompat.app.AppCom
patActivity; import
android.graphics.Color;
import
android.hardware.Sens
or; import
android.hardware.Sens
orEvent;
import
android.hardware.SensorEven
tListener; import
android.hardware.SensorMan
ager; import
android.os.Bundle;
import
android.view.View;
import
android.widget.Tex
tView; import
android.widget.To
ast;
boolean isColor =
false; TextView
t1;
long timeUpdate;
@Override
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t1 =
findViewById(R.id.textVie
w);
t1.setBackgroundColor(Co
lor.YELLOW);
sm = (SensorManager)
getSystemService(SENSOR_SERVICE);
timeUpdate = System.currentTimeMillis();
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() ==
Sensor.TYPE_ACCELEROMETER) { float[]
values = event.values;
float x
=
values[
0];
float y
values[
1];
float z
values[
2];
float accelationspeed = (x * x + y * y + z * z) /
(SensorManager.GRAVITY_EARTH *
SensorManager.GRAVITY_EARTH);
long actualTime =
System.currentTimeMillis(); if
(accelationspeed >= 2)
{
if (actualTime - timeUpdate < 200)
{
return;
}
timeUpdate =
actualTime; if
(isColor) {
t1.setBackgroundColor(Color.GREEN);
}
else
t1.setBackgroundColor(Color.
RED);
}
isColor = !isColor;
} } }
@Override
protected void
onResume() {
super.onResume();
sm.registerListener(this,sm.getDefaultSensor(Sensor.TYPE_ACCELEROM
ETER),
SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void
onPause() {
super.onPause();
sm.unregisterListen
er(this);
}
package com.example.expt22_2;
import
androidx.appcompat.app.AppCompa
tActivity; import
android.content.Context;
import android.hardware.Sensor;
import
android.hardware.Sensor
Manager; import
android.os.Bundle;
import android.widget.TextView;
import java.util.List;
public class MainActivity extends
TextView
t1;
@Overrid
{ super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t1=findViewById(R.id.textView);
smgr=(SensorManager)getSystemService(Context.S
sensorL=smgr.getSensorList(Sensor.TYPE_ALL);
for(Sensor s:sensorL)
{
sb.append(s.getName()+"\n");
}
t1.setText(sb);
}
}