I'm not sure what you are confused about. Your questions seem to be related to basic java concepts, which apply both to android and desktop programs.
In my experience, I have found it easier to build the android app's processing engine independently from the Android interface. What I would do is create 3 projects: the processing engine, the Android UI, and a tossed together desktop UI.
The project for the processing engine would contain all of the game's core functionality. Everything that isn't dependent on Android components should be put here.
The project for the Android UI would be where you create all the Android user interface stuff. This project would have the processing engine project as a dependency, and would send user input to that project to be processed and respond back to the UI.
The project for the Desktop UI would contain an extremely basic concept of the Android UI. I would invest just enough time into this to get it functional. This project would also depend on the processing engine project, and would also send user input to that project for a response.
I would do it this way because it makes it easier for me to test the processing engine on the desktop version than the Android version. The Android version will require you to launch the emulators and all sorts of other stuff. Attempting to debug the processing core of the game can become a real headache if you are doing it through a top-heavy Android UI. If the project for the processing engine contains all of your functional code, and the Desktop and the Android UIs send the same information to the processing engine, the processing engine should perform the same for both UIs. This means you can do a quick launch of the Desktop project to test your processing engine project, and it means you don't have to put together a fully functional Android UI until after you know the processing engine is working correctly.