Great question, and welcome to the landmine of mobile encryption! Unfortunately the answer really depends on which iPhone model / Android manufacturer your app will be running on. Here's a little dump of what I know. Hopefully it'll get you on the right track!
Both iOS and Android provide crypto (encryption) libraries in the OS. You should be able to google for docs pretty easily.
The hitch with any software-based encryption is going to be "where do we store the decryption key?". Obviously, storing the encrypted database in the app's storage space, then storing the decryption key in a file right next to it is kinda useless.
More and more, mobile devices are starting to have secure hardware keystore chips (often in the form of a TPM, or what Apple calls the "Secure Enclave") that will release the decryption key to the app in secure ways. They usually have lots of flexibility in terms of how / when the keys are released ("only accessible for 10 mins after device unlock", "only after password-based login", etc).
The problem is that these technologies are still very new and rapidly evolving, so not all devices support it yet, and the ones that do don't yet have a consistent API / feature set. It's worse on Android, but there's some inconsistency even between versions of Apple's Secure Enclave.
Android Marshmellow did a major overhaul of their crypto so that private keys never need to be handed to the app, all encrypt / decrypt operations can be done within the secure keystore. But Android devices < 6.0 are hit-and-miss.
If you decide to go down this route, the reality is that you will need to detect the OS version (and maybe manufacturer) at runtime and use different code based on what you find. It will probably be a large dev effort, and a pain in the butt for QA.