Service can work well for that yeah. Just need to be careful about how the service is started or stopped. Check the API docs, there is a lot of info on the Service class.
You may want to set a custom BroadcastReceiver that will start the Service if it doesnt exist.
This BroadcastReceiver would also allow an activity to register and unregister as an observer. Then you activity could register itself in onResume(), and unregister in onPause()
And I guess when I think of MVC I really mean MVP -- I never had the controller handing user input, mine was always a middle man. And i personally made the model mostly a dumb data store with the adapter "protecting" it.
(I think Android does this too, and it's sort of why Models are called Adapters in Android).
"Business" logic (or just "logic") I try to put in commands (
command pattern) -- Something like a runnable would work fine for this purpose. Or even a static class/factory. Basically anywhere I could
seperate out the concern. This would also lead to better (functional)
cohesion.
This also allows for using delegates and responders to handle server interaction or IO.
Then, I would have the controller handle events sent from the views and route them to the proper command. Almost like a
Service Locator pattern.
I'm trying to use the command pattern more, but it takes a lot of time. It is GREAT for de-coupling and modularity though.
I'm also slowly trying to move toward more
dependancy injection for the same reasons, but I dont think my Java is that good yet. (I learned coding in ActionScript hehe

)
Basically, while not the strict dictionary definition of MVC, I always thought of it like this in my mind:
Model - A
model or structure to represent how the data should exist
View - what the user
views aka the UI
Controller - the class that
controlls the interaction between the model and view
This made it easy to remember and implement for me, although I know this is a bit off from what someone writing a book on MVC would say they are. But mostly MVC and Java and small talk was written durring the time of client-server interaction.
Views were web pages, models were SQL databases with prepared statments for transaction processing, and controllers were middleware languages like php and Java.
This just doesnt exist in the same way in current application programming. The frontend itself can have very complex MVC type architecture, without ever needing a server.
Long story short though, I love thinking about this stuff, but sometimes you gotta just use any pattern that seems obvious and get coding
