Create Compass app in Sketchware
To create a Compass app in Sketchware, follow the steps given below.
1. In View area add an ImageView imageview1. Set image of a Compass as it's image. Make sure that North is towards the top.
2. Create a Gyroscope component gyro and another Gyroscope component gyroMagnet.
3. Create a More block extra and put following code in it.
}
private float[] floatGravity = new float[3];
private float[] floatGeoMagnetic = new float[3];
private float[] floatOrientation = new float[3];
private float[] floatRotationMatrix = new float[9];
{
4. In onCreate event use blocks
Gyroscope gyro sensor stop,
and Gyroscope gyroMagnet sensor stop.
After that put following code in an add source directly block:
gyro.registerListener(_gyro_sensor_listener, gyro.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_NORMAL);
gyro.registerListener(_gyroMagnet_sensor_listener, gyro.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),SensorManager.SENSOR_DELAY_NORMAL);
5. In onPause event use blocks
Gyroscope gyro sensor stop,
and Gyroscope gyroMagnet sensor stop.
6. In onResume event put following code in an add source directly block:
gyro.registerListener(_gyro_sensor_listener, gyro.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_NORMAL);
gyro.registerListener(_gyroMagnet_sensor_listener, gyro.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),SensorManager.SENSOR_DELAY_NORMAL);
7. In gyro: onSensorChanged event use an add source directly block and put following code:
floatGravity = _param1.values;
SensorManager.getRotationMatrix(floatRotationMatrix, null, floatGravity, floatGeoMagnetic);
SensorManager.getOrientation(floatRotationMatrix, floatOrientation);
imageview1.setRotation((float) (-floatOrientation[0]*180/3.14159265359));
8. In gyroMagnet: onSensorChanged event use an add source directly block and put following code:
floatGeoMagnetic = _param1.values;
SensorManager.getRotationMatrix(floatRotationMatrix, null, floatGravity, floatGeoMagnetic);
SensorManager.getOrientation(floatRotationMatrix, floatOrientation);
imageview1.setRotation((float) (-floatOrientation[0]*180/3.14159265359));
9. Save and run the project. You will see the top of image rotate to the North direction.
Nice blog . I have also been making tutorials related to Sketchware. In my Sketchware Interface video I have explaines each and every part of the Sketchware app itself. Do check my channel to learn more about sketchware.
ReplyDeleteMy channel link - https://youtube.com/channel/UCOUL_rPb3vQZoQ_ENC9lB3w
Thanks Sanjeev sir. I have learnt about sketchware by watching your videos . So Thanks a lot.
Great Work Sir
ReplyDeletekindly solve my problem .
i created a pdf reader and wanted to be it as default App.
i got success to do so when i view a pdf file from Myfiles.
But when i tried to open a pdf in whatsapp error occurred.
Because here Uri like
content //com.whatsapp.provider.media/item/9231
is received instead of Real Path.
kindly explain how can this URi is converted into Real Path ?
I am also interested android apps development. & I have Coded several app from Android Aide.
ReplyDeleteMy Blog - Ashu4Tech.com (A4T)
Hello Sir
ReplyDeleteDo you know how to turn off Anti-Alisasing of an imageview.
An example I have a car pixel art, and its parameters is 24 x 36 pixels.
But when i load the image in the app, the anti-aliasing is blurred off the image.
I want to see the picture like this:
https://i.stack.imgur.com/UnUzg.png
But this is how the app shows the picture:
https://drive.google.com/file/d/1xhbZIwlxU0JvnBiqsQF0ipaGY6aSw3MU/view?usp=sharing
Is there any way to turn off this terrible function.
Thanks, and have a nice day ;)
Sir,I am facing error
ReplyDeleteThis comment has been removed by the author.
ReplyDelete