В настоящее время я пытаюсь динамически создать два каталога в каталоге файлов внутреннего хранилища android и записать файл json в каждый вложенный каталог.
структура папок будет такой:
internal-storage
- files
- usersFullName
- sensorName1
- senor1Files
- sensorName2
Я в основном стремлюсь сделать так, чтобы имя пользователя было папкой root в каталоге файлов во внутреннем хранилище, а затем иметь подкаталоги для каждого конкретного c данных, а затем файлов, соответствующих каждому подкаталогу.
Вот код, пытающийся выполнить эту задачу. Я пробовал другой сценарий ios, и это мой самый последний.
/**
* Method to write the dataReadResponse from google fit into a file
* @param dataReadResponse the response from google fitness
* */
public static void writeToFile(DataReadResponse dataReadResponse, String sensorName) {
Log.d(TAG, "writeToFile: Writing to file");
// create the dir path
String dirPathName = GoogleSignIn.getLastSignedInAccount(AppBuild.getContext()).getFamilyName();
// create a dir with the user name
File userDir = new File(dirPathName);
userDir.mkdirs();
File dataDir = new File(userDir.toString() + "/" + sensorName);
dataDir.mkdirs();
String filename = String.format("google_fit_" + sensorName +"_%d.json", new Date().getTime());
String fullPath = dataDir.toString() + "/" + filename;
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(AppBuild.getApplication().openFileOutput(fullPath, Context.MODE_PRIVATE));
Gson gson = new GsonBuilder().create();
gson.toJson(dataReadResponse.getDataSets(), outputStreamWriter);
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}