I would like to develop a mobile Bitcoin application for the Android and iPhone platforms. What libraries and resources can I use?
Currently there are only a few mobile apps that use the bitcoin protocol itself. Most communicate with a bitcoin client on a remote machine using the JSON API.
Those few that do, rely on BitcoinJ which is a "selfish" implementation of bitcoin that runs in Java (handily the native language for Android apps). It's got a few key modifications that bring its overhead low enough to run on embedded devices, most notably it does not download all blocks in the block-chain, only those blocks which relate to addresses in its own wallet (hence "selfish" client).
Either method works, and either is as valid a starting point as the other, given the current state of bitcoin's mobile development.
You can develop a light weight and yet secure mobile app on top of the BCCAPI. The BCCAPI is implemented in Java and connects to a server that does the heavy lifting required to manage the block chain. However, the server does not have your private keys, and depends on the mobile device to sign transactions.
BitcoinSpinner is an example of an Android app built on top of the BCCAPI.
If you were to use this to make an iPhone app you would have to port the BCCAPI from Java to a C-like language.