These days, it is rather common to have a mobile-enabled web service or application, where you essentially enable your users to access the service both via a browser-enable desktop application, as well as from their mobiles whilst on the go.
It’s usually the case that the main business logic, as well as the business Model, are shared between the browser components and your mobile app: however, it is not obvious how to re-use code (or even use the same source code) when you are essentially using two completely separate SDKs, and even different JREs!
This short video shows how you can actually use the very same source files in all three layers, so that when you make changes (fix bugs, add functionality) the improvements are immediately reflected everywhere – and even better, you avoid subtle bugs that may be caused by inadvertently the code going “out-of-sync” in one of the layer.
The example is based on my Android Receipts application, which can also be freely downloaded in Android Market.
Please let me know what you think, and whether you are finding the videos useful – or you prefer the written word!
Update Someone commented on the low resolution of the video (480p) as making it difficult to follow: I understand, and, in fact, the original video was at a higher res (720×576, 25 fps): unfortunately, uploading to YouTube the resolution gets dropped during the transcoding.
Disappointing, I know, but hardly something I can do anything about.
I would suggest instead to see also Part II of this tutorial, which further elaborates on the topic, and provides some code samples.