use getFilesDir() instead of ApplicationInfo.dataDir

ApplicationInfo.dataDir is not intended to get written to and is managed by the Android framework. Instead, we use getFilesDir() (which likely points to a "files" subfolder in dataDir). This should fix a permission problem on Android 4.4 (or Cyanogen 11.0 M6). Tested only on emulator for now.