The usual standard for transmitting realtime GPS and compass data over a serial line is NMEA 0183.
This might even be how your GPS talks to Android internally. It is also often used over network connections. The format is based on one line of ASCII text per sample, with fields in each line deliminated by commas.
However, since you are interested in recording a history of travel information (location, direction, and acceleration), it's not necessary to record every sample. Instead, reduce the sample rate to something acceptable -- perhaps one record per minute or even one record per ten minutes. In each record, store the mean of each value, the standard deviation, and the maximum. This way, you won't miss "sharp bumps," since they will show up in the "max" value of acceleration.
The format in which you store this data is probably not crucial, and you should just pick something convenient and natural. As the commenters have mentioned, you might also want to look into GeoJSON, or perhaps just make up a suitable format of your own.