Encrypting your data: always needs a key... so where do you store that key? Not a single location on the phone is safe!
Prevent a hacker from modifying your code: if you can decompile the app to java code, you can remove this protection as well.
Conclusion: NEVER store keys inside your app. They should be kept elsewhere. Like on a server, but this means the user will need internet access at a certain moment.