They say, when you have a client-server application written in same language it is easier to make talk two different application written in different languages. Well said, I don’t disagree. However, having some support on developing android can be beneficial. I am developing an application on MIT APP Inventor 2 with support of Taifun‘s java coding from Pura Vida Apps.
You should visit his page really great stuff.
Talking about Virtual Reality, I have discovered that Panorama activity is the first step in VR. Then it is harder to implement VirtualActivity than PanoramaActivity.
Virtuality applications shows wide variety of the interactions and content shown to user. Starting from the game development to the educational apps showing user on how world and things are built. It can be 3d model of the human body, or some dinosaur.
There is the activity within the helper application that handles world environment rendering, as well as the model animation and texturing. This activity extends GvrActivity from Cardboard SDK. It handles stereo rendering for our demo. GvrActivity can also be used to handle user interaction via the magnetic button on the Cardboard device.
GvrActivity extends regular activity, handles android sensor sensor events (like head rotation) with the SensorListener, and contains GvrView component inside.
The other side is the Bluetooth server side. Compared to Java of client side it was easier for me. (Depends on where you look actually.)
There is a great article from MIT written in 2008 about Bluetooth communication. If you are also interested in Bluetooth programming, it is indeed great stuff. Here is the link. This document can be freely distributed under GNU Free Documentation License Thanks Richard for the support.