Have a look at http://sqlcipher.net/ which uses AES (transparently) to store data in SQLite - it should be strong enough for your use-case.
The rest depends on your situation:
1) is the system offline?
You won't be able to do a secure persistent login - users will have to sign in every time an app goes to the foreground in order to access the data.
2) is your system online?
Persistent login may be possible since the server-side authentication component may be deactivated for the user/device when the device is lost. Just prompt the server for the unlock token after user enters the password and use this token to unlock the database (specific implementation is up to you, I would go with the explicit device-server pairing with public/private keys)...
One particular situation to keep in mind is a password change. It can be dealt with using data re-import into a new crypted database. Gist:
You need to ask user to enter the old password in order to unlock the current database for reading, then for the new password to create the new one and then import old data to the new database. And when the process is finished, simply delete the old database...
Hope that helps...