I would like to know if there is a way to store a small amount of data permanently.
By permanently I mean I want the data to persist even if user clears app data / unins
You shouldn't do that, you shouldn't force the users to keep data on their phones without their consent.
Anyway, application data directory will be deleted after uninstall, but NOT after an update
The only way to have persistent data is to use the SD card, but again, users won't like to have the data on their card after the app is uninstalled
Or you can consider:
Environment.getDataDirectory()
is at least one directory where you can save files. It's on the internal storage (/data).
One case I use it is to define whether a service is running; I create a .lock file in there and always check whether it exists or not.