As someone who develops navigation applications (and discussed mobile platforms with a few people) I'd like to second that.
iPhone provides developers with ability to write "native code" (using either C, or more likely Objective C). It's still not trivial to write for iPhone - you can only port so much (and that has to be already written for Mac).
However Java is not at all a suitable technology for a usable navigation application. It doesn't work even on much more powerful platforms and it won't work at all on a mobile device with a 500Mhz non-pipelined ARM processor. So, I doubt that a chart application of any quality is possible for Android unless Google decides to provide native API as well.
That said, you could always have something that displays basic data - location, may be some information about the vessel etc.
The issue with writing for mobile platforms also is that they have essentially nothing in common either between themselves or with non-mobile platforms, so developer has to invest a very significant effort in application that ends up being tied to the platform and therefore only as successful as platform is. For me, for example, that is one reason that will make writing for mobile devices impractical until/unless they decide to share at least basic system technology. In that sense, iPhone is also a better choice - they at least guarantee a significant audience, whereas Android does not at this time and may or may not do so in the future.