If the user is just spending, does he need the blockchain?
No, not really. But any independent client will need to have access to a full blockchain at some point in order to even know that it has any bitcoins to spend.
What about a remote blockchain? A symlink over the Internet, or a blockchain 'server' that can scan the blockchain for these Android clients whenever the Internet is available.