You can do 3D on Android, using OpenGL ES. I have ported (not yet released) some Bioinformatics 3D code to that, from Java3D. The thing to understand about OpenGL, is that it is not Object Oriented, really. There is one god object you leverage, and that basically works like a collection of static methods, with very little object state. In fact, the
philosophy behind modern OpenGL, is the less state the better. The real coding should be in the shader language.
Not being true OO means that you may want to add a layer above OpenGL and use those objects. But, really, you can do it however you like. There are actually some things that are not just handed to you when you do OpenGL, such as picking (selecting objects on the screen), and rendering text. There is no one call in OpenGL that says, 'give me the thing at screen position from mouse', nor a 'drawString' method like in Java2D. Games might not need to render text, but the picking better be there. That said, there are resources out on the web to do both.