As usual there are different ways to design a user interface and it depends also on the number of different screens you have in your application.
Personally I've never liked TabHosts, nor did I like menus. But these are personal preferences. I have always prefered toolboxes with buttons and tooltips. The advantage, for me, is that I can manage all this stuff at my convenience. Change button images, hide and show buttons according to the program configuration etc. I prefer to see only the available functions and nothing else.
Especially in Android I find that the Tabs take too much place and they are on top. The disadvatage is that when you select a tab the screen is covered by your hand or fingers. In my applications I place the buttons on bottom in portrait or on the right side in landscape (I'm a right hander) to leave the screen visible. Changing Tabs isn't easy.
For me, menus are not useful either because you cannot change menu items afterwards nor can you hide them nor do you have an overlook on what functions are available.
All these principles are not only valid for Android, I used these also in Windows programs.
But, all this is personal feeling and convenience.
Coming back to the one activity and panels or several activities subject, when I began programming with B4A, my tendency was using one activity with several panels (Windows habit with Forms) but I changed my mind and came to the several activity solution because I find it more efficient in Android.
You could have a look at the
GPSExample program if you are intersted in an example of my point of view for user interface and program flow.
Anyway, as said before, that's just my point of view.
Best regards.