Ways to prevent reverse engineering
Code confusion reduces code readability; eg:Proguard
Put sensitive data and operations to the server
Iterative hashing and use of salt values to reduce hash collisions and reduce the possibility of brute force cracking hash
Select a suitable location to store sensitive information, SQLite,preference, etc.
Encrypted data