simultaneous localization and mapping (slam)

Are you using the phone's java to interface with the arduino?
it's serial interface that's you're interessed in, the arduino's code is in C and will have to process some/all the data before sending them by serial to your program, or send raw data to your program by serial.
This latter option adds delay to your processing. serial takes time.
The sampling rate of the arduino is not too great so do not expect super duper results.
You could try compressive sensing to deal with low sample rate

but all your calculations must then be done on relativly powrreful computer.

David