0% found this document useful (0 votes)
164 views4 pages

Practical No 22

Uploaded by

tangiro2305
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
164 views4 pages

Practical No 22

Uploaded by

tangiro2305
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Practical No 22

1. Write a program to changes the background color when device is shuffled.

Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/background"
android:gravity="center"
tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
/>

</LinearLayout>

MainActivity.java
package com.example.q1;

import static android.hardware.SensorManager.SENSOR_DELAY_NORMAL;


import static android.hardware.SensorManager.getOrientation;
import static android.hardware.SensorManager.getRotationMatrix;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Color;
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.widget.LinearLayout;

public class MainActivity extends AppCompatActivity implements SensorEventListener


{
SensorManager sensorManager;
static int val = 0;
float[] rotationMatrix = new float[9];
float[] inclinationMatrix = new float[9];
float[] accelerometerValues = new float[3];
float[] magnetometerValues = new float[3];
LinearLayout mLinearLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mLinearLayout = findViewById(R.id.background);
sensorManager =(SensorManager) getSystemService(SENSOR_SERVICE);
Sensor mAccelerometerSensor =
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
Sensor mMagnetometerSensor =
sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);

sensorManager.registerListener(this,mAccelerometerSensor,SENSOR_DELAY_NORMAL);
sensorManager.registerListener(this,mMagnetometerSensor,
SENSOR_DELAY_NORMAL);
}

@Override
public void onSensorChanged(SensorEvent event) {

switch (event.sensor.getType())
{
case Sensor.TYPE_ACCELEROMETER:
for(int i=0; i<3; i++) {
accelerometerValues[i] = event.values[i];
}
val++;
break;
case Sensor.TYPE_MAGNETIC_FIELD:
for(int i=0; i<3; i++) {
magnetometerValues[i] = event.values[i];
}
val++;
break;

}
if(val%2 == 0) {
boolean success = getRotationMatrix(rotationMatrix,
inclinationMatrix, accelerometerValues, magnetometerValues);
if (success) {
float[] orientation = new float[3];
getOrientation(rotationMatrix, orientation);
if (orientation[1] > 0) {
mLinearLayout.setBackgroundColor(Color.GREEN);
}
}
}
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {

Output
2. Write a program to display the list of sensors supported by the mobile device.

Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sensorList"/>

</LinearLayout>

MainActivity.java
package com.example.q2;

import androidx.appcompat.app.AppCompatActivity;

import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.List;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listView = findViewById(R.id.sensorList);
SensorManager sensorManager = (SensorManager)
getSystemService(SENSOR_SERVICE);
List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
ArrayAdapter<Sensor> adapter = new ArrayAdapter<>(getApplicationContext(),
android.R.layout.simple_list_item_1,sensors);
listView.setAdapter(adapter);

}
}
Output:-

You might also like