How to best mine on a smartphone?
Mining on a smartphone is unfavourable and might drain your battery very fast. For bitcoin-mainnet and bitcoin-testnet don't even try to mine on a smartphone (it won't be fun).

If you like to do this for testing or research purposes, you probably should use your smartphones GPU over openCL or renderScript.
Also have a look at bitcoin-cores mining code if you like to know more about how mining works (in detail).